前言
你有没有因为,写接口的时候,每次都要创建一个jsonObject,然后每次都要添加一些msg、status这些必做的东西,而烦恼,今天看了别人的R类,有了启发,觉得得写一篇文章,方便以后给前端返回统一的接口。
目录
首先,我们创建一个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版权协议,转载请附上原文出处链接和本声明。