JsonResult 作者:马育民 • 2022-03-01 14:45 • 阅读:10152 # 说明 controller 返回给前端的封装类,有以下成员变量: - `code`:`int` 类型,状态码,0表示成功,非0表示错误,每类错误都有错误码 - `msg`:`String` 类型,文字描述,如:`添加成功!` - `data`:泛型,数据,如:从数据库查询的数据,放到 data中,传给前端 ### 依赖 - jackson:用于转成json - [JsonCodeMsg](//www.malaoshi.top/show_1IX71bLLsAgz.html "JsonCodeMsg"):封装常用的 `code` 和 `msg` ### 代码 ``` package top.malaoshi.netdisk.vo; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @JsonInclude(JsonInclude.Include.NON_NULL) public class JsonResult { private int code; private String msg; private T data; public JsonResult(int code,String msg){ this.code=code; this.msg=msg; } /** * 校验失败 * @param msg * @return */ public static JsonResult validateFail(String msg){ JsonResult jr=new JsonResult(JsonCodeMsg.VALIDATE_FAIL.getCode(), msg); return jr; } /** * 服务器出现错误 * @return */ public static JsonResult serverError(){ JsonResult jr=new JsonResult(JsonCodeMsg.SERVER_ERROR.getCode(), JsonCodeMsg.SERVER_ERROR.getMsg()); return jr; } /** * 服务器出现错误 * @return */ public static JsonResult serverError(String msg){ JsonResult jr=new JsonResult(JsonCodeMsg.SERVER_ERROR.getCode(),msg); return jr; } /** * 表示执行成功 * @param msg * @param data 数据 * @return */ public static JsonResult success(String msg,Object data){ JsonResult jr=new JsonResult(JsonCodeMsg.SUCCESS.getCode(), msg); jr.setData(data); return jr; } public static JsonResult success(String msg){ JsonResult jr=new JsonResult(JsonCodeMsg.SUCCESS.getCode(),msg); return jr; } /** * 操作失败 * @param code * @param msg * @return */ public static JsonResult fail(int code,String msg){ JsonResult jr=new JsonResult(code,msg); return jr; } public String toJSON() throws JsonProcessingException { ObjectMapper om=new ObjectMapper(); String jsonStr=om.writeValueAsString(this); return jsonStr; } public T getData() { return data; } public void setData(T data) { this.data = data; } 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; } } ``` 原文出处:http://malaoshi.top/show_1IX2rn0kwlcB.html