新建个枚举类,状态码可以自定义
ResultCode.enum
/** * @Author achin * @Description 响应枚举状态码 * @Date 2020/10/31 **/ public enum ResultCode { // 成功 SUCCESS(200), // 失败 FAIL(500), // 未认证(签名错误) UNAUTHORIZED(401), // 接口不存在 NOT_FOUND(404), // 服务器内部错误 INTERNAL_SERVER_ERROR(501); public int code; ResultCode(int code) { this.code = code; } }
新建ResponseResult类,返回结果集
/** * @ClassName: ResponseResult * @Description: 返回结果集 * @Author: achin * @Date: 2020/10/31 16:11 **/ public class ResponseResult<T> { public int code; //返回状态码200成功 private String msg; //返回描述信息 private T data; //返回内容体 public ResponseResult<T> setCode(ResultCode retCode) { this.code = retCode.code; return this; } public int getCode() { return code; } public ResponseResult<T> setCode(int code) { this.code = code; return this; } public String getMsg() { return msg; } public ResponseResult<T> setMsg(String msg) { this.msg = msg; return this; } public T getData() { return data; } public ResponseResult<T> setData(T data) { this.data = data; return this; } }
响应结果集封装
/** * @ClassName: ResultResponse * @Description:将结果转换为封装后的对象 * @Author: achin * @Date: 2020/10/31 16:11 **/ public class ResultResponse { private final static String SUCCESS = "success"; private final static String FAIL = "fail"; public static <T> ResponseResult<T> makeOKRsp() { return new ResponseResult<T>().setCode(ResultCode.SUCCESS).setMsg(SUCCESS); } public static <T> ResponseResult<T> makeOKRsp(String message) { return new ResponseResult<T>().setCode(ResultCode.SUCCESS).setMsg(message); } public static <T> ResponseResult<T> makeOKRsp(T data) { return new ResponseResult<T>().setCode(ResultCode.SUCCESS).setMsg(SUCCESS).setData(data); } public static <T> ResponseResult<T> makeErrRsp(String message) { return new ResponseResult<T>().setCode(ResultCode.INTERNAL_SERVER_ERROR).setMsg(message); } public static <T> ResponseResult<T> makeRsp(int code, String msg) { return new ResponseResult<T>().setCode(code).setMsg(msg); } public static <T> ResponseResult<T> makeRsp(int code, String msg, T data) { return new ResponseResult<T>().setCode(code).setMsg(msg).setData(data); } }
测试
@RestController @RequestMapping("/test") public class TestController { @Autowired private UserService userService; @RequestMapping("/queryUserList") public ResponseResult<List<UserBean>> queryUserList() { try { //调用业务层返回用户列表 List<UserBean> userList = userService.queryUserList(); return ResultResponse.makeOKRsp(userList); } catch (Exception e) { e.printStackTrace(); return ResultResponse.makeErrRsp("查询用户信息异常"); } } }
成功
失败
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。