JsonView类为Controller中返回json数据的公共类,示例如下:
package com.test.web.view;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* 返回给前端的视图,json格式
* @since 2020-12-31 10:54:25
*/
@ApiModel("JsonView")
@Data
public class JsonView {
public static final int SUCCESSS_CODE = 0;
public static final int ERROR_CODE = 1;
// 返回码
@ApiModelProperty("返回码,默认0正常返回,1错误返回")
private int returnCode;
// 返回信息
@ApiModelProperty("返回说明信息,一般错误信息才会有")
private String returnMsg;
// 返回数据
@ApiModelProperty("返回数据")
private Map<String, Object> returnData = new HashMap<>(8);
public JsonView() {
returnCode = SUCCESSS_CODE;
returnMsg = "";
}
public JsonView(int returnCode, String returnMsg) {
this.returnCode = returnCode;
this.returnMsg = returnMsg;
}
/**
* 成功,有data数据
*/
public static JsonView suc(String key, Object data) {
JsonView jv = new JsonView();
jv.setReturnCode(SUCCESSS_CODE);
jv.add(key, data);
return jv;
}
public static JsonView suc(String returnMsg) {
JsonView jv = new JsonView();
jv.setReturnCode(SUCCESSS_CODE);
jv.setReturnMsg(returnMsg);
return jv;
}
public static JsonView suc() {
JsonView jv = new JsonView();
jv.setReturnCode(SUCCESSS_CODE);
return jv;
}
/**
* 失败
*/
public static JsonView fail(String returnMsg) {
JsonView jv = new JsonView();
jv.setReturnCode(ERROR_CODE);
jv.setReturnMsg(returnMsg);
return jv;
}
/**
* 失败
*/
public static JsonView fail(int returnCode, String returnMsg) {
JsonView jv = new JsonView();
jv.setReturnCode(returnCode);
jv.setReturnMsg(returnMsg);
return jv;
}
public void add(String key, Object value) {
returnData.put(key, value);
}
}
返回page
return JsonView.suc("page", service.pageResult(queryParam));
返回list
return JsonView.suc("list",service.list(id));
返回对象
return JsonView.suc(“user”, service.getResultById(id));
返回消息
return JsonView.suc("新增成功");