springBoot(clound)创建统一返回对象(含springBoot创建)

前言

你有没有因为,写接口的时候,每次都要创建一个jsonObject,然后每次都要添加一些msg、status这些必做的东西,而烦恼,今天看了别人的R类,有了启发,觉得得写一篇文章,方便以后给前端返回统一的接口。

目录

首先,我们创建一个springBoot项目,从脚到头

最简单的方法


首先,我们创建一个springBoot项目,从脚到头

不会的,看我下面的demo

刷新maven完成

创建一个返回类R

package com.example.demo.fanxing;



import java.io.Serializable;


public class R<T> implements Serializable{

    private String msg;

    private String status;//用于表示网络和报错

    private String code;//用于表示代码情况

    private T data;
    


}

R的类型写成泛型(这样,谁都能与他相匹配了),完后加上2个必要的msg、status以及返回的核心数据(data),当然也不知道未来可能返什么,所以给个泛型。

给定get,set,构造方法,得到完整代码

package com.example.demo.fanxing;



import java.io.Serializable;


public class R<T> implements Serializable{

    private String msg;

    private String status;

    private T data;


    public R(String msg, String status, T data) {
        this.msg = msg;
        this.status = status;
        this.data = data;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

 写一个controller层的接口用于测试

package com.example.demo;

import com.example.demo.fanxing.R;

import org.springframework.web.bind.annotation.*;




@RestController
public class controller {
    @RequestMapping(value = "/Test", method = RequestMethod.GET)
    @ResponseBody
    public R getDemo(@RequestParam("num") int i) {
        return new R<>("成功","200",i);
    }
}

启动springBoot,在网页上测试

最简单的方法

编写返回实例

package com.example.etf.dao;//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//




import java.io.Serializable;

public class R<T> implements Serializable {
    private static final long serialVersionUID = 1L;
    private int code;
    private String msg;
    private T data;

    public static <T> R<T> ok(T data) {
        return restResult(data, 200, (String)null);
    }

    public static <T> R<T> ok(T data, String msg) {
        return restResult(data, 200, msg);
    }

    public static <T> R<Object> failed() {
        return restResult((Object)null, 500, (String)null);
    }

    public static <T> R<Object> failed(String msg) {
        return restResult((Object)null, 500, msg);
    }





    private static <T> R<T> restResult(T data, int code, String msg) {
        R<T> apiResult = new R();
        apiResult.setCode(code);
        apiResult.setData(data);
        apiResult.setMsg(msg);
        return apiResult;
    }

    public String toString() {
        return "R(code=" + this.getCode() + ", msg=" + this.getMsg() + ", data=" + this.getData() + ")";
    }

    public R() {
    }

    public R(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public int getCode() {
        return this.code;
    }

    public R<T> setCode(int code) {
        this.code = code;
        return this;
    }

    public String getMsg() {
        return this.msg;
    }

    public R<T> setMsg(String msg) {
        this.msg = msg;
        return this;
    }

    public T getData() {
        return this.data;
    }

    public R<T> setData(T data) {
        this.data = data;
        return this;
    }
}


版权声明:本文为qq_38403590原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。