首先看一下返回的格式,如下图所示:分为三部分: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  Response<T> {

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

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

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

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

    public  Response(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,返回的类型是 Response,也就是要给前台传送类。然后把真实数据放入 Response的data中。

	@RequestMapping(value=\"springboot1\")
	public  Response json() {
		
		User user=new User();
		user.setId(123);
		user.setName(\"张三\");
		
		 Response response=new  Response(StatusCode.Success);
		response.setData(user);
	
		return response;
	}

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

收藏 打印