大家好,欢迎来到IT知识分享网。
前言
你有没有因为,写接口的时候,每次都要创建一个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; } }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/140476.html