简介:
在web模块里创建相关类 给web接口返回值统一实体规范封装,包含以下内容
success -- true/false
message -- 成功/失败
code -- 200/500 状态码
data -- 数据
一、创建 ResultCode类
public class ResultCode { public static final Integer SUCCESS = 200; public static final Integer ERROR = 500; public static final Integer PARAMNOTEXIST = 499; }
二、创建 ResultMessage类
public class ResultMessage { public static final String SUCCESS = "成功"; public static final String ERROR = "失败"; }
三、创建 Result类
@Data public class Result<T> implements Serializable { private Result() { } private Boolean success; private String message; private Integer code; private T data; public static <T> Result ok() { Result result = new Result(); result.setSuccess(true); result.setMessage(ResultMessage.SUCCESS); result.setCode(ResultCode.SUCCESS); return result; } public static <T> Result ok(String message, Integer code) { Result result = new Result(); result.setSuccess(true); result.setMessage(message); result.setCode(code); return result; } public static <T> Result ok(String message, Integer code, T data) { Result result = new Result(); result.setSuccess(true); result.setMessage(message); result.setCode(code); result.setData(data); return result; } public static <T> Result ok(T data) { Result result = new Result(); result.setSuccess(true); result.setMessage(ResultMessage.SUCCESS); result.setCode(ResultCode.SUCCESS); result.setData(data); return result; } public static <T> Result fail() { Result result = new Result(); result.setSuccess(false); result.setMessage(ResultMessage.SUCCESS); result.setCode(ResultCode.SUCCESS); return result; } public static <T> Result fail(String message, Integer code) { Result result = new Result(); result.setSuccess(false); result.setMessage(message); result.setCode(code); return result; } public static <T> Result fail(String message, Integer code, T data) { Result result = new Result(); result.setSuccess(false); result.setMessage(message); result.setCode(code); result.setData(data); return result; } public static <T> Result fail(T data) { Result result = new Result(); result.setSuccess(true); result.setMessage(ResultMessage.ERROR); result.setCode(ResultCode.ERROR); result.setData(data); return result; } }
四、修改接口 返回方法
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @PostMapping public Result addUser(@RequestBody UserReq userReq) { UserDto userDto = new UserDto(); BeanUtils.copyProperties(userReq, userDto); return Result.ok(userService.addUser(userDto)); } }