java统一返回结果
-
格式如下
{ "code": 200, "message": "登录成功", "data": true }
-
创建返回结果类
package com.hi.utils.result; import lombok.Data; import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class CodeMsg { public Integer code; public String message; public static CodeMsg SUCCESS = new CodeMsg(200,"SUCCESS"); public static CodeMsg SERVER_ERROR = new CodeMsg(100,"系统异常:%s"); public static CodeMsg BIND_ERROR = new CodeMsg(101,"(绑定异常)参数校验异常:%s"); public static CodeMsg SESSION_ERROR = new CodeMsg(102,"没有SESSION!"); public static CodeMsg REQUEST_ERROR = new CodeMsg(103,"非法请求!"); public static CodeMsg REQUEST_OVER_LIMIT = new CodeMsg(104,"请求次数过多!"); // public static CodeMsg aa = new CodeMsg(104,?); public CodeMsg() { } public CodeMsg(Integer code, String msg ) { this.code = code; this.message = msg; } //不定参的构造函数 public CodeMsg fillArgs(Object... args) { int code = this.code; String message = String.format(this.message, args); return new CodeMsg(code, message); } }
package com.hi.utils.result; import lombok.Data; import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class Result
{ private int code;// 业务自定义状态码 private String message;// 请求状态描述,调试用 private T data;// 请求数据,对象或数组均可 public Result() { } public static Result success(T data){ return new Result (data); } public static Result error(CodeMsg msg){ return new Result (msg); } public static Result error(T data){ return new Result (data); } public static Result error(Integer code,String message){ return new Result (new CodeMsg(code,message)); } public Result(T data){ this.code = 200;//默认200是成功 this.message = "SUCCESS"; this.data = data; } public Result(int code, String msg) { this.code = code; this.message = msg; } private Result(CodeMsg msg) { if(msg != null) { this.code = msg.getCode(); this.message = msg.getMessage(); } } } -
controller层调用
@PostMapping("/userLogin") public Result
login(@RequestBody LoginUserVo loginUserVo){ System.err.println(loginUserVo); boolean b = userService.userLogin(loginUserVo.getUsername(), loginUserVo.getPassword()); if (b){ return Result.success(b).setMessage("登录成功"); } return Result.error(new CodeMsg(401,"登录失败")); } 返回值Result最好写上返回类型,这样在swagger里面就可以显示对象属性注释
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)