前言
你有没有因为,写接口的时候,每次都要创建一个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,在网页上测试
|