統一返回結果集


1.

查看統一返回結果的信息:一般最少4個

Success   // 是否正確 boolean

Message // 返回的消息

Code // 狀態碼

Data // 數據的

 

2.具體步驟

1、 先創建一個枚舉,創建返回成功和失敗的變量;

2、 創建返回對象類;

a) 建議要有一個OK的方法,error的方法方便調用;

b) 自定義的message,success,code,data的方法

 

3.枚舉類例子如下:

@Getter
public enum ResultCodeEnum {

SUCCESS(true, 20000,"成功"),
UNKNOWN_REASON(false, 20001, "未知錯誤"),
BAD_SQL_GRAMMAR(false, 21001, "sql語法錯誤"),
JSON_PARSE_ERROR(false, 21002, "json解析異常"),
PARAM_ERROR(false, 21003, "參數不正確"),
FILE_UPLOAD_ERROR(false, 21004, "文件上傳錯誤"),
EXCEL_DATA_IMPORT_ERROR(false, 21005, "Excel數據導入錯誤");

private Boolean success;
private Integer code;
private String message;
private ResultCodeEnum(Boolean success, Integer code, String message) {
this.success = success;
this.code = code;
this.message = message;
}
}

4.統一返回對象類 例子如下:

@Data
@ApiModel(value = "全局統一返回結果")
public class R {

@ApiModelProperty(value = "是否成功")
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(ResultCodeEnum.SUCCESS.getSuccess());
r.setCode(ResultCodeEnum.SUCCESS.getCode());
r.setMessage(ResultCodeEnum.SUCCESS.getMessage());
return r;
}

public static R error(){
R r = new R();
r.setSuccess(ResultCodeEnum.UNKNOWN_REASON.getSuccess());
r.setCode(ResultCodeEnum.UNKNOWN_REASON.getCode());
r.setMessage(ResultCodeEnum.UNKNOWN_REASON.getMessage());
return r;
}
public static R setResult(ResultCodeEnum resultCodeEnum){
R r = new R();
r.setSuccess(resultCodeEnum.getSuccess());
r.setCode(resultCodeEnum.getCode());
r.setMessage(resultCodeEnum.getMessage());
return r;
}

public R success(Boolean success){
this.setSuccess(success);
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;
}
}

5.測試如下:

/*
* 查詢方法
* */
@ApiOperation(value = "person1查詢數據")
@ResponseBody
@GetMapping("/selectOnePerson/{id}")
public R selectOnePerson(@ApiParam(name="id", value = "personID", required = true) @PathVariable("id") Integer id) {

try {
Person person = personServer.selectOne(id);
return R.ok().data("person",person);
} catch (Exception e) {
return R.error();
}
}

 

 以上測試就完成啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM