统一返回结果集

Posted liuyi13535496566

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统一返回结果集相关的知识,希望对你有一定的参考价值。

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();



技术图片

 

 以上测试就完成啦!

 

以上是关于统一返回结果集的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core中使用结果过滤器ResultFilter统一结果返回封装

.NET Core 返回结果统一封装

将List进行分组后结果返回Map结果集

封装统一返回结果

全局统一返回结果

postgresql 函数返回结果集(zz)