1. 前言
目前很多项目都是前后端分离,前后端会事先约定好返回格式。那么后端如何做,才能优雅的返回统一格式呢,接下来,请大家跟着我,一步步来实现。
2. 直接返回结果
先看一下最基本的例子,直接将结果原封不动返回:
@Data @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class TestVo { private static final long serialVersionUID = 1L; @Schema(name = "姓名") private String name; @Schema(name = "年龄") private Integer age; }
@RestController @RequestMapping(value = "/test") public class TestApi { @GetMapping("/simple") public TestVo simple() { TestVo testVo = new TestVo("张三", 30); return testVo; } }
返回结果:
{ "name": "张三", "age": 30 }
3. 约定返回格式
假如已经与前端开发妹子约定好了格式,比如:
{ "code": 0, "msg": "错误信息", "data": 实际返回结果 }
那么我们首先需要编写一个封装结果类Result。为了方便封装,在这个类中增加一个success方法:
@Data @JsonInclude(JsonInclude.Include.NON_NULL) public class Result<T> implements Serializable { private static final long serialVersionUID = 1L; /** * 返回编码 */ private Integer code; /** * 编码描述