@ControllerAdvice如何实现@RestControllerAdvice的异同

这两个注解用于全局异常处理和统一响应,@ControllerAdvice适合MVC应用,可返回视图,而@RestControllerAdvice适用于RESTAPI,返回JSON。可以通过添加@ResponseBody实现两者相同功能。
摘要由CSDN通过智能技术生成
相同点
  1. 作用范围:@ControllerAdvice@RestControllerAdvice 注解都用于全局异常处理和统一处理响应,可以应用于整个应用程序的控制器。
  2. 异常处理:它们都可以捕获和处理应用程序中发生的异常,并提供自定义的异常处理逻辑。
  3. 统一响应处理:它们都可以在控制器方法返回结果时进行统一的响应处理,例如添加全局的响应头、修改响应状态码等。
不同点
  1. 注解类型:@ControllerAdvice 注解的类可以返回视图或模型数据,适用于传统的MVC应用程序。而 @RestControllerAdvice 注解的类将默认返回 JSON 格式的响应,适用于基于RESTful风格的API应用程序。
  2. 响应格式:@ControllerAdvice 注解的类可以返回视图,可以使用 ModelAndViewString 类型的返回值,可以进行页面跳转。而 @RestControllerAdvice 注解的类会将方法返回的对象序列化为 JSON 格式作为响应。
@ControllerAdvice如何实现@RestControllerAdvice相同的功能

在方法或类上添加@Response注解即可。

综上所述,@ControllerAdvice@RestControllerAdvice 在异常处理和统一响应处理方面的功能类似,只是注解的使用场景和响应格式有所不同。如果你的应用程序是基于MVC架构的传统应用,可以使用 @ControllerAdvice 注解;如果你的应用程序是基于RESTful风格的API应用,可以使用 @RestControllerAdvice 注解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值