介绍
在SpringBoot项目开发中,经常会需要定义通用返回类来封装接口返回的数据,这样即统一了后端接口的数据,也方便前端调用
一般情况下,会将后台处理好的数据以JSON格式返回
通用返回类
通用返回类一般会定义各种返回状态,下面只定义了部分的状态,其他状态可参考自行定义
package com.example.mysql.config;
import com.alibaba.fastjson.JSON;
import java.util.HashMap;
import java.util.Objects;
/**
* @description: 返回对象
* @author: zj
* @date: 2022-07-14 13:40
*/
public class R {
private static JSON json;
/**
* 请求成功
* @param obj
* @return
*/
public static String ok(Object obj) {
HashMap<String, Object> res = new HashMap<>();
res.put("status", "200");
res.put("data", obj);
return json.toJSONString(res);
}
/**
* 请求失败
* @param obj
* @return
*/
public static String fail(Object obj) {
HashMap<String, Object> res = new HashMap<>();
res.put("status", "500");
res.put("data", obj);
return json.toJSONString(res);
}
}
调用
通用返回类定义好了,那么怎么使用呢?其实很简单,看看下面的例子吧
@GetMapping("/mysql/process")
public String process() {
//处理数据
List<User> users = userMapper.selectSub(0, 2);
return R.ok(users);
}
注意传入的参数必须是原始类型,不能传入JSON字符串类型的数据,因为通用返回类内部已经做了处理,如果对同一对象做两次JSON字符串转换将会使得返回的JSON数据不可读(不易读)
效果
我们看到数据已经按照通用类的格式返回了