二、后台实战——格式统一的Json返回
来源:互联网 发布:两大人工智能编程语言 编辑:程序博客网 时间:2024/06/08 10:29
后台在做API接口返回的时候往往需要统一格式,笔者在自己的几个项目中使用的Json格式如下:
{<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@ResponseBodypublic 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")@ResponseBodypublic ResponseData testResponseData() {return ResponseData.ok().putDataValue("token", "XXXXXXXXXXXXXXXXXXXXXXX");}}
右击工程【Run As->Maven build】
项目的完整地址:https://github.com/imchenglibin/spring-web-tutorial
0 0
- 二、后台实战——格式统一的Json返回
- 用一个切面来统一返回前端的JSON格式
- SpringMVC返回json数据的日期格式统一转换
- springmvc返回统一格式json数据
- JSON统一格式返回值,统一异常处理
- Spring 返回JSON格式对日期字段的返回统一处理
- Highcharts从后台返回json正确的格式
- Ajax调用查看页面的后台返回json格式数据
- JS解析后台返回的JSON格式数据
- 后台返回json格式数据日期格式化
- 封装http请求返回统一json格式数据的网络操作
- 解决spring boot中rest接口404,500等错误返回统一的json格式
- 开发框架-Spring-错误或异常时返回统一的json格式
- spring roo 开发meavn项目(二)后台返回map,list自动转换json格式
- 服务接口统一返回的格式GOOD
- JAVA后台没有报错,本应该返回json格式的,但是返回的确实xml格式,还报错
- spring mvc 搭建二 ,返回json格式
- aotocomplete.js 处理返回后台传回的json格式的数据
- springmvc注解详解
- Android项目编码规范
- 使用Xcode工具symbolicatecrash将设备导出的 .crash 文件符号化 (Xcode7.3)
- 迭代(二)
- FCN/MRF图像语义分割与马克尔夫随机场
- 二、后台实战——格式统一的Json返回
- Android通过AlarmManager类实现最简单的闹钟
- 支持手势缩放的ImageView
- vim存活日志3 光标跳转,多行复制删除
- Android:详解如何创建Google风格的SettingsActivity
- Golang 文件名命名规则
- PHP 学习笔记(四):高级教程:Cookies,Sessions,邮件,错误处理,异常处理,过滤器
- 橙色——三色配色篇
- 分治策略之最大子数组