SpringBoot 统一数据返回格式
背景
在开发过程中,将函数的返回值格式进行统一,将方便后续的返回和接收。通过 @ControllerAdvice 和 ResponseBodyAdvice 的方式可以实现全局统一的数据返回格式。
实现方式
定义类 ResponseAdvice,实现 ResponseBodyAdvice 接口,并在类上添加 @ControllerAdvice 注解。
@ControllerAdvice
public class ResponseAdvice implements ResponseBodyAdvice {
@Override
public boolean supports(MethodParameter returnType, Class converterType) {
return true;
}
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
if (body instanceof Result) {
return body;
}
return Result.success(body);
}
}
测试接口
@RestController
@RequestMapping("/test")
public class TestController {
@RequestMapping("/t1")
public String t1() {
return "string";
}
@RequestMapping("/t2")
public Integer t2() {
;
}
Boolean {
;
}
}




