Java返回json格式的状态码数据(一)

74 篇文章 0 订阅

首先看一下返回的格式,如下图所示:分为三部分: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(状态信息)返回就行。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值