java返回json格式的状态码数据

首先看一下返回的格式,如下图所示:分为三部分:code(状态码)、msg(状态信息)、data(数据)。

 

1.先创建一个状态码的类 – StatusCode
/*
* 定义了状态码的类
*/
public enum StatusCode {

Success(0,"成功"),
Fail(-1,"失败"),
NotFound(10010,"不存在"),
Entity_Not_Exist(10011,"实体信息不存在"),
Invalid_Params(10012,"请求参数不合法!");

private Integer code;
private String msg;


StatusCode(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;
}
}
2.因为返回的为三部分(code、msg、data),所创建一个返回类
**
* 这个类定义了返回的json格式,即json含有哪些字段
*/
public class BaseResponse<T> {

private Integer code;
private String msg;
private T data;

public BaseResponse(StatusCode statusCode) {
this.code=statusCode.getCode();
this.msg=statusCode.getMsg();
}

public BaseResponse(Integer code, String msg) {
this.code = code;
this.msg = msg;
}

public BaseResponse(T data, StatusCode statusCode) {
this.data = data;
this.code=statusCode.getCode();
this.msg=statusCode.getMsg();
}

public BaseResponse(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = 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;
}
}
3.创建一个Controller,返回的类型是BaseResponse,也就是要给前台传送类。然后把真实数据放入BaseResponse的data中。
@RequestMapping(value="springboot1")
public BaseResponse json() {

User user=new User();
user.setId(123);
user.setName("张三");

BaseResponse response=new BaseResponse(StatusCode.Success);
response.setData(user);

return response;
}
user是真正要返回的参数,把它放入BaseResponse的data中,一起和code(状态码)msg(状态信息)返回就行。

猜你喜欢

转载自www.cnblogs.com/Koaler/p/12367836.html
今日推荐