SpringBoot通用返回类定义

介绍

在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数据不可读(不易读)

效果

我们看到数据已经按照通用类的格式返回了

SpringBoot通用返回类定义_第1张图片

你可能感兴趣的:(SpringBoot,spring,boot,java,json)