- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Spring MVC 应用程序,它有 @Controller
s 和 @RestController
s。
我在想:当我的 @Controller
出现异常时, 由我处理 @ControllerAdvice
当我的 @RestController
出现异常时, 由我处理 @RestControllerAdvice
...但现在我认为这不是事情应该如何运作,因为我的 @ControllerAdvice
正在捕获所有内容,甚至是 @RestController
抛出的任何异常......我不知道这是否应该发生。这是我的代码:
@ControllerAdvice
public class ExceptionHandlerController {
private final String DEFAULT_ERROR_VIEW = "error/default";
@ExceptionHandler(Exception.class)
public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e)
{
ModelAndView mav = new ModelAndView();
mav.addObject("exception", e);
mav.addObject("danger", e.getMessage());
mav.addObject("url", req.getRequestURL());
mav.setViewName(DEFAULT_ERROR_VIEW);
return mav;
}
}
@RestControllerAdvice
public class ExceptionHandlerRestController {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {
return new ResponseEntity<>(" test "+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
最佳答案
是的,@RestControllerAdvice 不能那样工作。它只是一个带有 @ResponseBody 自动假设的 @ControllerAdvice。见 @RestControllerAdvice vs @ControllerAdvice .
如果你想让一个 @ControllerAdvice 与一个 Controller 一起工作,一个与另一个一起工作,那么如果你把你的 Controller 放在单独的包中,你应该能够通过执行以下操作来做到这一点:
@ControllerAdvice("my.controller1.package")
关于spring - @RestControllerAdvice 和 @ControllerAdvice 在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45631766/
我有多个子项目的父项目。所有项目都以 basepakage org.dordas.{project name}.web.controller 开头。我想用一个基础包配置 controllerAdvic
@RestControllerAdvice 和 @ControllerAdvice 之间的主要区别是什么? 我们是否应该始终将 @RestControllerAdvice 用于休息服务和 @Contr
我正在使用 Spring Boot 2.3.1,但遇到异常问题。我想使用 @RestControllerAdvice 类在全局级别捕获异常。我能够捕获验证错误并返回自定义错误响应,但 Spring 似
我有一个 Spring MVC 应用程序,它有 @Controller s 和 @RestController s。 我在想:当我的 @Controller 出现异常时, 由我处理 @Controll
我有大约 20 到 30 种不同类型的不同异常,所有异常都扩展了 Java 中的 Exception 类。一个例子是: public class NoHandlerFoundException ext
我正在使用 Spring Boot 创建几个 REST API,并正在考虑解耦异常处理并将其作为外部 jar 文件,然后我可以将其导入到我的项目中并拥有一个全局异常处理程序逻辑。我为此创建了一个新项目
我有以下 Controller : @RestController @RequestMapping("/api/{brand}" public class CarController { @Get
自定义枚举 validator 注释接口(interface): @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TY
有一个非常相似的问题here ,但答案不足以解决我的问题。 我在 @Service 类中有这个方法: @Async public void activateUser(...){ if(someCo
我目前正在抛出自定义异常 - RequestValidationException。 ExceptionHandler 类: @RestControllerAdvice @Slf4j public c
在 Spring Webflux 异常处理的首选方式是什么? @RestControllerAdvice 来自 Spring MVC 而 DefaultErrorAttributes 来自 Sprin
@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(NoHandlerFound
我是一名优秀的程序员,十分优秀!