结束!
结果:
使用controller:
这里需要注意的是,分页不同于列表的data,分页中有一个total页数,列表的data:只有一个items,data分页:total items
没有返回数据:
{
"success": false,
"code": 20001,
"message": "失败",
"data": {}
}
失败:
{
"success": false,
"code": 20001,
"message": "失败",
"data": {}
}
下面正文
返回的基本数据格式如下:
统计返回结果类:
/**
* 结果封装类统一返回
*/
@Schema(description = "结果封装类统一返回")
@Data
public class R {
@Schema(description = "是否成功")
private Boolean success;
@Schema(description = “返回码”)
private Integer code;
@Schema(description = "返回消息"
private String message;
@Schema(description = "返回数据"
private Map<String, Object> data = new HashMap<String, Object>();
private R(){
}
public static R ok(){
R r = new R();
r.code=REnum.SUCCESS.getCode();
r.success=REnum.SUCCESS.getFlag();
r.message=REnum.SUCCESS.getMessage();
return r;
}
public static R error(){
R r = new R();
r.code=REnum.ERROR.getCode();
r.success=REnum.ERROR.getFlag();
r.message=REnum.ERROR.getMessage();
return r;
}
/* 以下是为外界提供setter方法设置值 */
public R success(Boolean success){
this.success=success;
return this;
}
public R message(String message){
this.message=message;
return this;
}
public R code(Integer code){
this.code=code;
return this;
}
// 外部传输一个键对过来
public R data(String key, Object value){
this.data.put(key, value);
return this;
}
// 外部传输多个键值 多个键值对 外界首先将键值拼接到map中,接着又传了过来
public R data(Map<String, Object> map){
this.data=map;
return this;
}
}
我们定义了统一的结果
{
"success": 布尔, //响应是否成功
"code": 数字, //响应码
"message": 字符串, //回复消息
"data": HashMap ///返回数据,放在键值对中
}
与结果类相关的枚举类:
public enum REnum {
//枚举项 相当于new R(1”,“小明”,"男") SUCCESS相当于对象引用
// 调用: REnum.SUCCESS.getXXX属性 private情况
// 调用: REnum.SUCCESS.XXX属性 public情况
SUCCESS(2万,“成功”,true),
ERROR(20001,“失败”,false)
;
private Integer code;
private String message;
private Boolean flag;
REnum(Integer code, String message, Boolean flag) {
this.code = code;
this.message = message;
this.flag = flag;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Boolean getFlag() {
return flag;
}
public void setFlag(Boolean flag) {
this.flag = flag;
}
}
列表:
{
"success": true,
"code": 20000,
"message": "成功",
"data": {
"items": [
{
"id": "1",
"name": “刘德华”,
"intro": “毕业于师范大学数学系,热爱教育,执教数学思维6年多”
}
]
}
}
分页:
{
"success": true,
"code": 20000,
"message": "成功",
"data": {
"total": 17,
"rows": [
{
"id": "1",
"name": “刘德华”,
"intro": “毕业于师范大学数学系,热爱教育,执教数学思维6年多”
}
]
}
}
文章为作者独立观点,不代表股票交易接口观点