package com.imooc.util;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* 自定义响应数据结构:
* 这个类是提供给门户,ios,安卓,微信商城使用的.
* 门户接收此类数据后需要使用本类的方法转换成对于数据类型格式(类,或者List)
* 其他自行处理:
* 200 表示成功.
* 500 表示错误,错误信息在msg字段中.
* 501 bean 验证错误,不管多少个错误都以map形式返回.
* 502 拦截器拦截到用户的token出错.
* 555 异常抛出信息.
*/
public class LeeJSONResult {
//定义jackson对象:
private static final ObjectMapper MAPPER = new ObjectMapper();
//响应业务状态:
private Integer status;
//响应消息:
private String msg;
//响应中的数据:
private Object data;
private String ok;//不使用.
public static LeeJSONResult build(Integer status,String msg,Object data){
return new LeeJSONResult(status,msg,data);
}
LeeJSONResult(Integer status,String msg,Object data){
this.status = status;
this.msg = msg;
this.data = data;
}
LeeJSONResult(Object data){
this.status = 200;
this.msg = "ok";
this.data = data;
}
public static LeeJSONResult errorMsg(String msg){
return new LeeJSONResult(500,msg,null);
}
public static LeeJSONResult errorMap(Object data){
return new LeeJSONResult(501,"error",data);
}
public static LeeJSONResult errorTokenMsg(String msg){
return new LeeJSONResult(502,msg,null);
}
public static LeeJSONResult errorException(String msg){
return new LeeJSONResult(555,msg,null);
}
public static LeeJSONResult ok(Object data){
return new LeeJSONResult(data);
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getOk() {
return ok;
}
public void setOk(String ok) {
this.ok = ok;
}
}