统一结果返回
接口(常量)版
ResultCode.java
public interface ResultCode { Integer SUCCESS = 20000; Integer ERROR = 20001; }
R.java
@Data //lombok public class R { @ApiModelProperty(value = "是否成功") //swagger private Boolean success; @ApiModelProperty(value = "返回码") private Integer code; @ApiModelProperty(value = "返回消息") private String message; @ApiModelProperty(value = "返回数据") private Map<String, Object> data = new HashMap<String, Object>(); private R(){} //禁止创建对象,只使用静态方法 //成功静态方法 public static R ok() { R r = new R(); r.setSuccess(true); r.setCode(ResultCode.SUCCESS); r.setMessage("成功"); return r; } //失败静态方法 public static R error() { R r = new R(); r.setSuccess(false); r.setCode(ResultCode.ERROR); r.setMessage("失败"); return r; } public R success(Boolean success){ this.setSuccess(success); return this; } // return this;用于可以使用链式编程,使代码更简洁 public R message(String message){ this.setMessage(message); return this; } public R code(Integer code){ this.setCode(code); return this; } public R data(String key, Object value){ this.data.put(key, value); return this; } public R data(Map<String, Object> map){ this.setData(map); return this; } }
创建了统一结果返回之后,javaweb的控制器方法返回结果都以R返回,使代码更加规范

浙公网安备 33010602011771号