`
raymond.chen
  • 浏览: 1436783 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

@ControllerAdvice的使用

 
阅读更多

1、全局异常处理

        结合@ExceptionHandler注解使用

        用于捕获Controller中抛出的指定类型的异常,从而达到不同类型的异常区别处理的目的。

 

2、全局数据绑定

        结合@ModelAttribute注解使用

        表示其标注的方法将会在目标Controller方法执行之前执行。

 

3、全局数据预处理

        结合@InitBinder注解使用

        用于request中自定义参数解析方式进行注册,从而达到自定义指定格式参数的目的。

//1. 给接口中的变量取别名
@PostMapping("/book")
public void addBook(@ModelAttribute("b") Book book, @ModelAttribute("a") Author author) {
    System.out.println(book);
    System.out.println(author);
}

//2. 进行请求数据预处理
@InitBinder("b")
public void b(WebDataBinder binder) {
    binder.setFieldDefaultPrefix("b.");
}

@InitBinder("a")
public void a(WebDataBinder binder) {
    binder.setFieldDefaultPrefix("a.");
}

//3. 发送请求
http://localhost/book?b.name=zhangsan&b.price=10&a.name=lisi&a.age=50

 

 

分享到:
评论

相关推荐

    SpringMVC @ControllerAdvice使用场景

    主要介绍了SpringMVC @ControllerAdvice使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    ControllerAdvice spring mvc 3.2 错误统一控制

    使用`@ControllerAdvice`可以定义一个或多个`@ExceptionHandler`方法来处理特定类型的异常。当这些方法所在的Controller类抛出这些特定异常时,`@ExceptionHandler`标注的方法会被执行,从而实现异常的全局处理。 ...

    什么是ResponseBodyAdvice接口以及@ControllerAdvice的配合使用

    好多小伙伴对@RestController和@Controller+@ResponseBody的使用应该不会陌生,每一个java后端开发工程师都会用到这几个注解。这里不过多啰嗦(不明白的小伙伴自行百度一下吧) 进入今天的主题,每次我们返回的对象...

    Java异常介绍及Spring Boot统一异常处理

    Spring Boot 提供了统一的异常处理机制,通过使用 @ControllerAdvice 和 @ExceptionHandler 注解,可以实现对控制器层、Service 层、Dao 层以及 Spring 系统内定义的部分异常的统一处理。 在 Spring Boot 中,可以...

    源码剖析Springboot自定义异常.docx

    在这个例子中,`@ControllerAdvice`注解表明这是一个全局异常处理器,而`@ExceptionHandler(Exception.class)`则表示这个方法将捕获所有未被其他异常处理器处理的异常。当方法抛出异常时,`myExceptionHandle`方法会...

    spring mvc异常处理

    通过合理使用`@ExceptionHandler`、`@ControllerAdvice`以及`HandlerExceptionResolver`,你可以创建健壮且易于维护的Web应用,同时提供良好的用户体验和错误信息。理解并熟练掌握这些技术,将有助于提升你的开发...

    全局异常类和统一返回结果代码压缩包

    2. **Spring @ControllerAdvice**: 如果你正在使用Spring MVC,那么可以利用@ControllerAdvice注解创建一个全局异常处理器。这个类上的方法会捕获所有@Controller注解的方法抛出的异常,然后返回一个自定义的响应。 ...

    spring mvc统一处理异常

    spring mvc统一处理异常,通过@ControllerAdvice+@ExceptionHandler

    SpringMvc自定义注解获取用户登陆信息.rar

    在Spring MVC中,我们通常使用`@ControllerAdvice`或`HandlerInterceptor`来全局处理自定义注解。这两种方式都可以在请求处理之前或之后进行干预,检查注解并执行相应的逻辑。 4. **获取用户登录信息** 要获取用户...

    springboot入门(全局 异常拦截)

    4. **使用@ControllerAdvice** `@ControllerAdvice`是Spring MVC提供的注解,它会作用于整个应用中的所有控制器。当我们在这个类上添加此注解,就可以在这里定义全局的异常处理方法。 5. **@ExceptionHandler** ...

    SpringMvc/SpringBoot HTTP通信加解密的实现

    在这里,我们可以使用@ControllerAdvice来实现DecodeRequestBodyAdvice类,从而实现全局的加解密。 SpringMvc/SpringBoot HTTP通信加解密的实现是一个非常重要的话题,我们可以使用自定义的注解、RequestBodyAdvice...

    SpringMVC异常处理知识点总结

    在 Spring MVC 框架中,统一异常处理是通过使用 @ControllerAdvice 注解来实现的。@ControllerAdvice 注解用于标记一个类,以便它可以从控制器中捕捉异常。使用 @ControllerAdvice 注解的类可以捕捉所有控制器中的...

    SpringBoot 2 统一异常处理过程解析

    下面是一个实战操作的示例代码,演示了如何使用 `@ControllerAdvice` 和 `@ExceptionHandler` 来实现统一异常处理: 首先,我们定义一个消息类 `ReturnMessage`,用于封装返回的数据: ```java public class ...

    spring mvc异常简单处理

    在配置方面,Spring MVC的`web.xml`或`DispatcherServlet`配置文件中可以通过`<error-page>`元素定义错误页面,这在没有使用`@ExceptionHandler`或`@ControllerAdvice`时很有用。例如,可以设置404错误页面,以便在...

    Spring Boot:异常处理案例

    1.使用自定义错误页面处理异常案例 2.使用 @ExceptionHandler 注解处理异常案例 3.使用 @ControllerAdvice 注解处理异常案例 4.使用配置类处理异常案例 5.使用自定义类处理异常案例

    java基于spring注解AOP的异常处理的方法

    本篇文章将深入探讨如何使用Spring注解AOP进行异常处理,特别是基于`@ControllerAdvice`的方式。 一、异常处理的重要性 在编程时,尽管我们通常会使用`try...catch...finally`来捕获和处理异常,但无法预见所有可能...

    13springboot 统一异常处理1

    描述中提到,即使是最简单的输出语句(如`System.out.println(e.getMessage())`)或使用`e.printStackTrace()`来打印堆栈跟踪,也是对异常的基本处理。 `throw`关键字用于在代码中显式抛出一个异常,而`throws`则...

    spring boot 异常处理方案

    2. **@ExceptionHandler**:在`@ControllerAdvice`类中,我们可以使用`@ExceptionHandler`注解来指定处理特定异常的方法。这使得我们可以为每个异常类型定制不同的响应。 3. **ErrorController**:Spring Boot还...

    Java项目中全局异常处理实战.zip

    - 创建一个类,通常命名为`GlobalExceptionHandler`,并使用`@ControllerAdvice`注解标记。这个类的方法将会捕获所有控制器抛出的异常。 - 在`GlobalExceptionHandler`类中定义多个`@ExceptionHandler`方法,每个...

Global site tag (gtag.js) - Google Analytics