资讯专栏INFORMATION COLUMN

3.14、使用@ControllerAdvice和@RestControllerAdvice通知控制

crossea / 3368人阅读

  这一部分示例见这个项目的 mvc 分支下的 MyControllerAdvice.java 和 MyController.java

  注解@ControllerAdvice是一个组件注解(component annotation),它允许实现类通过类路径扫描被自动检测到。当使用 MVC 命名空间或者 MVC Java 配置时自动启用。

  带有@ControllerAdvice注解的类可以包含带有@ExceptionHandler@InitBinder@ModelAttribute注解的方法,and these methods will apply to @RequestMapping methods across all controller hierarchies as opposed to the controller hierarchy within which they are declared.

请原谅我拙劣的英语水平。谢谢!

  @RestControllerAdvice is an alternative where @ExceptionHandler methods assume @ResponseBody semantics by default.

  @ControllerAdvice@RestControllerAdvice都可以指向控制器的一个子集:

// 指向所有带有注解@RestController的控制器
@ControllerAdvice(annotations = RestController.class)
public class AnnotationAdvice {}

// 指向所有指定包中的控制器
@ControllerAdvice("org.example.controllers")
public class BasePackageAdvice {}

// 指向所有带有指定签名的控制器
@ControllerAdvice(assignableTypes = {ControllerInterface.class, AbstractController.class})
public class AssignableTypesAdvice {}

  更多详情见@ControllerAdvice 文档。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66057.html

相关文章

  • 3.7、@ResponseBody @RestController

    摘要:本部分示例代码见此项目的分支下的和使用注解映射响应体注解和很像。例如上面的示例会返回文本,并把它写到响应流中。就像,使用把返回的对象转换到请求体中。就像常规的,可以由或者协助。详情见用和通知控制器一节   本部分示例代码见此项目的 mvc 分支下的 RespBodyController.java 和 TheRestController.java ① 使用注解@ResponseBody...

    EddieChan 评论0 收藏0
  • springboot结合全局异常处理之登录注册验证

    摘要:在学校做一个校企合作项目,注册登录这一块需要对注册登录进行输入合法的服务器端验证,因为是前后端分离开发,所以要求返回数据。 在学校做一个校企合作项目,注册登录这一块需要对注册登录进行输入合法的服务器端验证,因为是前后端分离开发,所以要求返回JSON数据。方法有很多,这觉得用全局异常处理比较容易上手 全局异常处理 首先来创建一个sprIngboot的web项目或模块,目录结构如下 sho...

    leone 评论0 收藏0
  • 3.13、@InitBinder WebDataBinder

    摘要:标记初始化的方法,被用于填充被注解的处理方法的命令和表单对象参数。初始化绑定器方法必须不带返回值,所以它们通常被声明为的。典型的参数包括和或者,允许用代码方式注册特定上下文的编辑器。详情见使用和通知控制器一节。   这一部分示例见这个项目的 mvc 分支下的 WebDataBinderController.java ① 用@InitBinder自定义数据绑定   用@InitBind...

    dreamGong 评论0 收藏0
  • 3.9、在方法上使用@ModelAttribute注解

    摘要:用在方法上的指示那个方法的目的是添加一个或多个模型属性。在控制器中的方法的调用时机是在同一个控制器中的方法之前。注意,有两种形式的方法。注解也可以用在方法上。   这一部分翻译自 Spring 5.0.0.M1 文档中的 Using @ModelAttribute on a method 一节。这一节的演示示例在这个项目的 mvc 分支中的 ModelAttrController.ja...

    王笑朝 评论0 收藏0
  • SpringBoot 实战 (十四) | 统一处理异常

    摘要:前言如题,今天介绍是如何统一处理全局异常的。主要是用于异常拦截出获取并将设置到消息类中返回。状态码异常拦截类通过加入来声明该类可拦截请求,同时在方法加入并在该注解中指定要拦截的异常类。测试访问测试正常返回数据结果。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 SpringBoot 是如何统一处理全局异常的。SpringBoot 中...

    arashicage 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<