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

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

大家好,欢迎来到IT知识分享网。

前言

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

目录

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

最简单的方法


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

不会的,看我下面的demo

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

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

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

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

刷新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,在网页上测试

springBoot(clound)创建统一返回对象(含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

(0)
上一篇 2025-05-26 17:10
下一篇 2025-05-26 17:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信