异常:一个好的REST API应该正确地处理异常,并向用户发送正确的响应。不应向用户呈现任何未处理的异常。REST API开发人员有两个与错误处理相关的需求。
@RestControllerAdvice是@ControllerAvice和@ResponseBody的组合
@控件建议注释首次在Spring 3.2中引入。
我们可以使用@ControllerAdvice注释来处理RESTful服务中的异常,但我们需要单独添加@ResponseBy。
注意:
GlobalExceptionHandler 用 @ControllerAdvice 进行了注释,因此它将拦截来自整个应用程序中控制器的异常。
另外,我们可以只理解为:
< code > @ rest Controller = < code > @ Controller < code > @ response body
@RestControlllerAdvie
=@ControlllerAdvie
@响应体
。
请记住,< code > @ RestControllerAdvice 是使用RestfulApi处理异常的更方便的注释。
操作系统用法示例:
@RestControllerAdvice
public class WebRestControllerAdvice {
@ExceptionHandler(CustomNotFoundException.class)
public ResponseMsg handleNotFoundException(CustomNotFoundException ex) {
ResponseMsg responseMsg = new ResponseMsg(ex.getMessage());
return responseMsg;
}
}
在这种情况下,任何异常instanceOf CustomNotFoundException都将在响应正文中抛出。
此处提取的示例:https://grokonez.com/spring-framework/spring-mvc/use-restcontrolleradvice-new-features-spring-framework-4-3
@RestControllerAdvice
只是@ControllerAdvice@ResponseBody
的句法糖,你可以
看看这里。
我们是否应该始终使用@RestControllerAdvice进行rest服务和@ControllerAvice MVC?
同样,如上所述,< code>@ControllerAdvice甚至也可以用于REST web服务,但是您需要另外使用< code>@ResponseBody。
这是我在我的项目中使用的一个库依赖项: 我对在项目中使用感兴趣。该类是一个,用于处理所有异常。 然而,我不太明白如何将这个建议激活到我的项目中。
我在中有以下方法: 而是:
我使用的是SpringBoot2.3。我遇到了一些例外情况。我想使用类在全局级别捕获异常。我能够捕获验证错误并返回自定义错误响应,但Spring似乎忽略了我的方法。这是我的课程: andler.java 下面是我抛出异常的方法: PhotoStorageServiceImp.java PhotoUploadController.java } 我在检索照片时遇到错误
我正在使用Spring Boot for Restful Web Services。 试图建立一个依赖@RestControllerAdvice的全局自定义异常处理机制,该机制可以处理已知但未知的异常。 pom.xml GlobalControlllerExceptionHandler: 响应: 这个问题是当我使用第三方库做某事时,未知异常可能是404,但返回为500! 例如,使用具有未知索引的E
在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?
问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。