Spring MVC 统一响应消息体
Spring MVC API 接口响应的消息体最好统一结构,便于前端识别和规范。
方式一
ResponseVO
1 | public class ResponseVO<T> { |
ResponseEntity
Spring Http 也提供了响应体类 ResponseEntity
,在响应给前端时也可直接使用返回 ResponseEntity 对象,传入数据。
ResponseEntity 扩展自 HttpEntity,增加了 HttpStatus 状态码。可在 RestTemplate 或 @Controller 注解类中的方法中使用。
RestTemplate 的 getForEntity()
和 exchange()
方法返回的就是 ResponseEntity 实例。如下示例
1 | ResponseEntity<String> entity = template.getForEntity("http://example.com", String.class); |
还可以在 Spring MVC 中使用,作为 @Controller 方法的返回值:
1 |
|
或通过静态方法调用构建器来访问:
1 |
|
ResponseHelper
1 | public class ResponseHelper { |
HttpStatusEnum
见 Http 状态码 及 Spring Http 状态码枚举
统一响应消息体
在使用时,可返回 new ResponseVO(data)
,也可使用 ResponseHelper
调用静态方法,传入数据。
方式二
ResponseModel
1 |
|
SystemErrorCode
1 | /** |
ErrorCode
1 | public interface ErrorCode { |
Spring MVC 统一响应消息体
http://blog.gxitsky.com/2019/11/21/SpringMVC-35-response-result/