Spring Boot 中 Rest 资源的 NotImplementedException
Posted
技术标签:
【中文标题】Spring Boot 中 Rest 资源的 NotImplementedException【英文标题】:NotImplementedException for Rest resources in spring boot 【发布时间】:2018-09-21 05:58:38 【问题描述】:我正在开发一个 Rest Spring 启动应用程序,我的代码如下:
@SpringBootApplication 公共类 Initializer 扩展 SpringBootServletInitializer
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
return application.sources(Initializer.class);
具有 CRUD 方法的接口
许多实现接口的类 控制器类 带有@ControllerAdvice
的异常处理程序类,其中带有@ExceptionHandler(NotImplementedException.class) //message
的方法
我有一些资源,比如a
,b
,c
,d
。
到目前为止,我只实现了a
和b
,因此如果客户端尝试访问c
和d
,我想抛出一个自定义的NotImplementedException
。
我想知道我应该在哪里抛出这个异常,我是否必须使用ResourceHandlers
之类的东西,如果是,如何使用它以及需要什么配置?
【问题讨论】:
【参考方案1】:1 - 控制器建议类必须extends ResponseEntityExceptionHandler
2 - 覆盖处理异常的原始方法。在你的情况下:
public ResponseEntity<Object> handleHttpRequestMethodNotSupported (HttpRequestMethodNotSupportedException ex, HttpHeaders headers, HttpStatus status, WebRequest request)
3 - 在您覆盖处理程序的方法中执行您想要执行的操作。
就是这样。
【讨论】:
以上是关于Spring Boot 中 Rest 资源的 NotImplementedException的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot:无法从另一个 Origin 访问安全资源 - CORS - Spring Security - Spring data rest
无法在spring boot data rest中直接发布到子资源
带有 Spring Boot REST 应用程序的 OAuth2 - 无法使用令牌访问资源
初入spring boot(八 )Spring Data REST