1.新建自定义结果状态接口
public interface CustomizeResultStatus {
Integer getCode();
String getMessage();
}
2.新建返回代码枚举并实现接口
public enum ResultStatus implements CustomizeResultStatus {
SUCCESS(200, "请求成功"),
ERROR(400, "请求失败");
private Integer code;
private String message;
ResultStatus(Integer code, String message) {
this.code = code;
this.message = message;
}
@Override
public Integer getCode() {
return code;
}
@Override
public String getMessage() {
return message;
}
}
3.编写自定义返回结果类
@Data
@Accessors(chain = true)
public class Result {
private Integer code;
private String message;
private Boolean status;
private Object data;
private Result() {
}
public static Result success() {
Result result = new Result();
result.setStatus(true);
result.setCode(ResultStatus.SUCCESS.getCode());
result.setMessage(ResultStatus.SUCCESS.getMessage());
return result;
}
public static Result error() {
Result result = new Result();
result.setStatus(false);
result.setCode(ResultStatus.ERROR.getCode());
result.setMessage(ResultStatus.ERROR.getMessage());
return result;
}
public Result status(Boolean status) {
return setStatus(status);
}
public Result message(String message) {
return setMessage(message);
}
public Result code(Integer code) {
return setCode(code);
}
public Result data(Object data) {
return setData(data);
}
}
4.调用测试
@RestController
@RequestMapping("user")
public class UserController {
@PostMapping("test")
public Result test(@RequestBody User user) {
return Result
.success()
.data(user)
.message("接口成功访问")
.code(ResultStatus.SUCCESS.getCode());
}
}
5.访问结果
