SpringBoot之封装json对象返回json数据
/**
* @description:封装json对象,所有返回结果都使用它
**/
public class Result<T> { private int code;// 业务自定义状态码 private String msg;// 请求状态描述,调试用 private T data;// 请求数据,对象或数组均可 public Result() {
} /**
* 成功时候的调用
* @param data data
* @param <T> t
* @return Result
*/
public static <T> Result<T> success(T data){
return new Result<T>(data);
} /**
* 失败时候的调用
* @param codeMsg codeMsg
* @param <T> t
* @return Result
*/
public static <T> Result<T> error(CodeMsg codeMsg){
return new Result<T>(codeMsg);
} /**
* 成功的构造函数
* @param data data
*/
public Result(T data){
this.code = 200;//默认200是成功
this.msg = "SUCCESS";
this.data = data;
} public Result(int code, String msg) {
this.code = code;
this.msg = msg;
} /**
* 失败的构造函数
* @param codeMsg codeMsg
*/
private Result(CodeMsg codeMsg) {
if(codeMsg != null) {
this.code = codeMsg.getCode();
this.msg = codeMsg.getMsg();
}
} public int getCode() {
return code;
} public void setCode(int 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;
} @Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
}
public class CodeMsg {
private int code;
private String msg;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
/*服务端异常*/
public static CodeMsg SUCCESS = new CodeMsg(200,"SUCCESS");
public static CodeMsg SERVER_ERROR = new CodeMsg(100,"系统异常:%s");
public static CodeMsg BIND_ERROR = new CodeMsg(101,"(绑定异常)参数校验异常:%s"); /*用占位符 传入一个参数*/
public static CodeMsg SESSION_ERROR = new CodeMsg(102,"没有SESSION!"); /*用占位符 传入一个参数*/
public static CodeMsg REQUEST_ERROR = new CodeMsg(103,"非法请求!"); /*用占位符 传入一个参数*/
public static CodeMsg REQUEST_OVER_LIMIT = new CodeMsg(104,"请求次数过多!"); /*用占位符 传入一个参数*/
private CodeMsg( ) {
}
private CodeMsg( int code,String msg ) {
this.code = code;
this.msg = msg;
}
//不定参的构造函数
public CodeMsg fillArgs(Object... args) {
int code = this.code;
String message = String.format(this.msg, args);
return new CodeMsg(code, message);
}
@Override
public String toString() {
return "CodeMsg [code=" + code + ", msg=" + msg + "]";
}
}
SpringBoot之封装json对象返回json数据的更多相关文章
- 本文使用springMVC和ajax,实现将JSON对象返回到页面
一.引言 本文使用springMVC和ajax做的一个小小的demo,实现将JSON对象返回到页面,没有什么技术含量,纯粹是因为最近项目中引入了springMVC框架. 二.入门例子 ①. 建立工程, ...
- 大话Json对象和Json字符串
一.Json对象和Json字符串的区别 (1)Json对象:可以通过javascript存取属性. 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的.例如: var ...
- Js数据类型、Json格式、Json对象、Json字符串
数据类型,从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第二种类型是se ...
- fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化
fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...
- 前端页面使用 Json对象与Json字符串之间的互相转换
前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...
- json对象和json字符串转换方法
在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...
- JSON对象、JSON字符串的相互转换
JSON对象.JSON字符串的相互转换 json的格式: 第一种方式: 单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号 va ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- JavaScript对象、JSON对象、JSON字符串的区别
一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...
随机推荐
- UltraISO 软碟通注册(亲测!!!)
声明:本文仅限学习者共享使用,请勿用来商业行为,否则后果自负!!! 强烈建议!!!支持正版购买通道,请走这里. 免费下载UltralSO软碟通 首先当然是下载安装UltraISO软件,不然怎么** ...
- 某公司git代码管理,到如何上线
- Mybatis3.1-[tp_36-37]-_映射文件_select_resultMap关联查询__分步查询传递多列值&fetchType_discriminator鉴别器
_分步查询传递多列值&fetchType_discriminator鉴别器 笔记要点出错分析与总结 Department.java bean public class Department { ...
- SQL SERVER表变量和临时表
一.表变量 表变量在SQL Server 2000中首次被引入.表变量的具体定义包括列定义,列名,数据类型和约束.而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约 ...
- vscode安装依赖报错 TypeError: zipfile.readEntry is not a function
错误原因是npm的版本太高,需要把5.x的版本换回4.x的 npm install npm@4 -g 或者 cnpm install npm@4 -g 详见:https://github.com/Mi ...
- Spring Cloud Eureka 注册中心高可用机制
一.Eureka 正常工作流程 Service 服务作为 Eureka Client 客户端需要在启动的时候就要向 Eureka Server 注册中心进行注册,并获取最新的服务列表数据. Eurek ...
- location对象方法(assign()、reload()、replace())
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- datafram 操作集锦
Spark Python API 官方文档中文版> 之 pyspark.sql (二) 2017-11-04 22:13 by 牛仔裤的夏天, 365 阅读, 0 评论, 收藏, 编辑 摘要:在 ...
- 使用AJAX传输不了值时
当时候AJAX往后台传递值时 传不到后台 这时我们就要检查程序是否有问题了 一般AJAX程序 $.ajax( { type: "POST", url: "Login. ...
- spring-AMQP-RabbitMQ
1.spring整合rabbitMQ配置文件 rabbitmq-context.xml <beans xmlns="http://www.springframework.org/s ...