1 前言
在实际开发中,为了降低开发人员之间的沟通成本,一般返回结果会定义成一个统一格式,具体的格式根据实际开发业务不同有所区别,但至少包括三要素:
- code:请求的状态码
- message:请求的结果描述
- data:接口返回的数据
2 实现
2.1 定义状态码
package com.example.animeApi.domain.vo;
public enum Status {
SUCCESS(200, "成功!"),
FAIL(400, "失败!");
private final int code;
private final String msg;
Status(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
2.2 定义返回对象
package com.example.animeApi.domain.vo;
@Data
public class Result {
private int code;
private String msg;
private Object data;
public static Result success(Object data) {
Result re = new Result();
re.setCode(Status.SUCCESS.getCode());
re.setMsg(Status.SUCCESS.getMsg());
re.setData(data);
return re;
}
public static Result fail(int code, String msg) {
Result re = new Result();
re.setCode(code);
re.setMsg(msg);
return re;
}
}
2.3 统一接口返回类型
最后,我们将接口的返回值类型改为我们定义的Result就行了。
@GetMapping("/test")
public Result test(){
return Result.success("success");
}