3.17.5 @RestControlleradvice注解
org.springframework.web.bind.annotation.RestControlleradvice
注解本身使用@ControllerAdvice
和@ResponseBody
注解。使用了@RestControllerAdvice
注解的类会被看作一个ControllerAdvice
,而该类中所有使用@ExceptionHandler
注解的方法都默认使用@ResponseBody
注解。@RestControllerAdvice
注解的源代码如下:
1 | (ElementType.TYPE) |
示例 @RestControllerAdvice注解的使用
创建一个RestControllerAdviceTest
项目,所有文件和配置基本和3.17.3节的RestControllerAdviceTest
项目一致。
GlobalExceptionHandler.java
1 | package org.fkit.controller; |
GlobalExceptionHandler
使用了@RestControllerAdvice
注解,该类会被看成一个ControllerAdvice
,同时该类中所有使用@ExceptionHandler
注解的方法都默认使用了@ResponseBody
注解, OrderErrorHandler
方法会将Map
集合数据转换成JSON
格式并返回客户端。
测试结果和ControllerAdviceTest
项目的测试结果一致,此处不再赘述。