【问题标题】:Mixing @ResponseStatus on our own Exceptions and handling other Exceptions in @ControllerAdvice在我们自己的异常中混合@ResponseStatus 并在@ControllerAdvice 中处理其他异常
【发布时间】:2019-10-10 14:28:16
【问题描述】:

我正在阅读这个article,关于 Spring MVC 和 该博客的“什么时候使用”部分,它提到了

  • 对于您编写的异常,请考虑将@ResponseStatus 添加到它们。

  • 对于所有其他异常,在@ControllerAdvice 类上实现@ExceptionHandler 方法或使用
    的实例 简单映射异常解析器。你可能有
    为您的应用程序配置的 SimpleMappingExceptionResolver
    已经,在这种情况下,添加新的异常类可能会更容易
    比实现@ControllerAdvice。

我们有什么理由不应该把所有的处理都放在@controlleradvice 中?

谢谢。

【问题讨论】:

    标签: spring-boot spring-mvc exception


    【解决方案1】:

    例如,如果您要为 NotFound 编写自己的异常 - 这是不言自明的,您不必为此异常添加任何额外的内容,为其编写处理程序是矫枉过正的 - 您只需添加一个 @ResponseStatus在其中放置一些信息,例如 (value = HttpStatus.NOT_FOUND, reason = "Not found"),如果已修复并完成。

    现在对于需要记录或需要对文本进行更多控制的异常 - 例如国际化你将把它写在处理程序中。

    认为他们只是试图避免处理程序在可以通过额外一行处理的地方过度杀伤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-22
      • 2019-11-29
      • 2022-10-14
      • 2018-07-13
      • 2014-08-26
      • 1970-01-01
      • 2019-06-04
      相关资源
      最近更新 更多