SpringBoot怎么统一JSON信息返回
发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,这篇文章主要介绍"SpringBoot怎么统一JSON信息返回"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot怎么统一JSON信息返回"文章
千家信息网最后更新 2024年09月27日SpringBoot怎么统一JSON信息返回
这篇文章主要介绍"SpringBoot怎么统一JSON信息返回"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot怎么统一JSON信息返回"文章能帮助大家解决问题。
调用后端服务后的返回结果有多种类型,如:String
,Integer
,Boolean
,List
,Map
等,在一个项目中,为了保持统一性,我们方法返回结果可以全部使用JSON
数据格式,如下:
{ "code":200, "msg":"成功", "data":"JSON数据"}
其中code
是本次请求处理结果对应的状态码,msg
是状态码对应的解释信息,data
是要返回的数据内容,可以是任意一个对象。
封装响应信息对象
public class ResponseEntityimplements Serializable { private static final long serialVersionUID = 3595741978061989861L; private Integer code;//状态码 private String msg;//状态码对应信息 private T data;//要返回的数据 public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; }}
状态码,Http
请求状态码有多种,使用枚举列举,如下示例:
public enum ResponseEnum { SUCCESS(200, "成功"), FAIL(-1, "失败"), ERROR_400(400, "错误的请求"), ERROR_404(404, "访问资源不存在"), ERROR_500(500, "服务器异常"); private Integer code; private String msg; ResponseEnum(Integer code, String msg) { this.code = code; this.msg = msg; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; }}
创建一个公共类,生成响应对象
public class ResponseUtil { /** * 成功返回 * @param object 返回数据 * @return */ public static ResponseEntity success(Object object){ ResponseEntity resp = new ResponseEntity(); resp.setCode(ResponseEnum.SUCCESS.getCode()); resp.setMsg(ResponseEnum.SUCCESS.getMsg()); resp.setData(object); return resp; } /** * 成功返回 无数据 * @return */ public static ResponseEntity success(){ return success(null); } /** * 失败返回 * @param responseEnum 响应标识 * @return */ public static ResponseEntity error(ResponseEnum responseEnum){ ResponseEntity resp = new ResponseEntity(); resp.setCode(responseEnum.getCode()); resp.setMsg(responseEnum.getMsg()); return resp; }}
Spring
中的控制器可以用 @Controller
和 @RestController
注解来声明,其中@Controller
标识当前控制器是SpringMvc
的控制器,要返回JSON
对象数据,需要和@ResponseBody
注解联合使用;@RestController
主要用来构建Restful
风格接口,返回客户端的请求数据,相当于同时使用@Controller
和@ResponseBody
注解。
(推荐课程:Spring教程)
创建Pojo
包及对应的实体类
public class DemoEntity { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
创建控制器
@Controller
@Controllerpublic class DemoController { @RequestMapping(value = "/users", method= RequestMethod.GET) @ResponseBody public ResponseEntity users(){ Listlist = new ArrayList (); DemoEntity demo = new DemoEntity(); demo.setId(1); demo.setName("蜗牛"); list.add(demo); DemoEntity demo1 = new DemoEntity(); demo1.setId(2); demo1.setName("葡萄"); list.add(demo1); return ResponseUtil.success(list); }}
测试:启动服务后,在浏览器地址栏输入http://localhost:8080/users
,可以看到页面上的输出信息
{"code":200,"msg":"成功","data":[{"id":1,"name":"蜗牛"},{"id":2,"name":"葡萄"}]}
@RestController
@RestControllerpublic class DemoRestController { @RequestMapping(value = "/users1", method= RequestMethod.GET) public ResponseEntity users(){ Listlist = new ArrayList (); DemoEntity demo = new DemoEntity(); demo.setId(1); demo.setName("蜗牛"); list.add(demo); DemoEntity demo1 = new DemoEntity(); demo1.setId(2); demo1.setName("葡萄"); list.add(demo1); return ResponseUtil.success(list); }}
请求后也能看到如上的结果。
关于"SpringBoot怎么统一JSON信息返回"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
数据
信息
状态
成功
统一
对象
控制器
结果
控制
注解
知识
葡萄
蜗牛
服务
内容
多种
方法
标识
行业
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎样学做app软件开发
什么是国家网络安全网络游戏
防护域名拦截服务器
泉州多人视频聊天软件开发
猫头鹰网络安全
网络安全短视频能拍些什么
数据库某一列增加唯一性索引
金山区省电软件开发售后保障
网络安全数据分析 pdf
商用服务器怎么连接
计算机网络技术基础试题
曲江服务器充电桩
成都软件开发公司是否专业
filemaker数据库
萧县网络安全哪家好
大疆新无人机数据库
软件开发php学习
网络安全工程师蛋糕拍照
今年网络安全的手抄报
网络安全宣传动漫照片
服务器驱动选项怎么开启
网络安全类证书考试报名费
快手显示无法访问服务器怎么回事
阿里云服务器安全告警
安阳网络技术
支付宝数据库开放
北京abb电力软件开发
宁波企业网络安全准入控制系统
卡位面服务器
太原游戏软件开发招聘信息