二、后台实战——格式统一的Json返回
2016-09-26 14:08
211 查看
后台在做API接口返回的时候往往需要统一格式,笔者在自己的几个项目中使用的Json格式如下:
message为错误码对应的信息
data为具体返回实体
Java的代码实现如下
右击工程【Run As->Maven build】
项目的完整地址:https://github.com/imchenglibin/spring-web-tutorial
{ <span style="white-space:pre"> </span>code: 200, <span style="white-space:pre"> </span>message: "Ok", <span style="white-space:pre"> </span>data: { <span style="white-space:pre"> </span>} }code为返回的错误码
message为错误码对应的信息
data为具体返回实体
Java的代码实现如下
package com.xt.tutorial.utils; import java.util.HashMap; import java.util.Map; public class ResponseData { public static final String ERRORS_KEY = "errors"; private final String message; private final int code; private final Map<String, Object> data = new HashMap<>(); public String getMessage() { return message; } public int getCode() { return code; } public Map<String, Object> getData() { return data; } public ResponseData putDataValue(String key, Object value) { data.put(key, value); return this; } private ResponseData(int code, String message) { this.code = code; this.message = message; } public static ResponseData ok() { return new ResponseData(200, "Ok"); } public static ResponseData notFound() { return new ResponseData(404, "Not Found"); } public static ResponseData badRequest() { return new ResponseData(400, "Bad Request"); } public static ResponseData forbidden() { return new ResponseData(403, "Forbidden"); } public static ResponseData unauthorized() { return new ResponseData(401, "unauthorized"); } public static ResponseData serverInternalError() { return new ResponseData(500, "Server Internal Error"); } public static ResponseData customerError() { return new ResponseData(1001, "Customer Error"); } }添加具体用例:
package com.xt.tutorial.v1.controllers; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.xt.tutorial.utils.ResponseData; @Controller @RequestMapping("/index") public class IndexController { @GetMapping @ResponseBody public Map<String, Object> index() { Map<String, Object> response = new HashMap<>(); response.put("code", 200); response.put("message", "Ok"); response.put("data", new HashMap<String, String>()); return response; } @GetMapping("/test_response_data") @ResponseBody public ResponseData testResponseData() { return ResponseData.ok().putDataValue("token", "XXXXXXXXXXXXXXXXXXXXXXX"); } }
右击工程【Run As->Maven build】
项目的完整地址:https://github.com/imchenglibin/spring-web-tutorial
相关文章推荐
- 自定义统一api返回json格式(app后台框架搭建三)
- struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)
- ajax请求后台,返回json格式数据,模板!
- Asp.net实现无刷新调用后台实体类数据并以Json格式返回
- 将后台数据返回的两类数据转换成键值对应的json格式
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- spring roo 开发meavn项目(二)后台返回map,list自动转换json格式
- SpringMVC返回json数据的日期格式统一转换
- (转:Tonny Yang)jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析
- 解决处理后台返回json数据格式问题
- FLEX4.7 与Java后台交互返回json格式的数组 并赋值给前台datagrid
- C#后台把多个字符串结果封装成JSON格式并返回前台解析
- SpringMVC 统一返回JSON格式数据到前端
- Jquery 将后台返回的字符串转换成Json格式的数据
- 后台返回一个string类型的json格式数据,前台js如何读取?
- springmvc返回统一格式json数据
- 用一个切面来统一返回前端的JSON格式
- 解决spring boot中rest接口404,500等错误返回统一的json格式
- Jackson 后台将javabean对象、List转为json格式字符串并返回,同时前台解析
- jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析