自定义HTTP返回json类
http请求返回包含状态码,消息以及数据
本文介绍通过自定义类的方式,实现一个http返回类型
1. 创建类Msg作为用来返回json的通用类
类属性字段包含状态码,提示信息,用户要返回给浏览器的数据。
//状态码
private int code;
//提示信息
private String msg;
//用户要返回给浏览器的数据,采用map存储
private Map<String, Object> extend = new HashMap<>();
方法包括成功返回,失败返回以及新增数据。
/**
* 成功操作
*/
public static Msg success() {
Msg result = new Msg();
result.setCode(100);
result.setMsg("处理成功!");
return result;
}
/**
* 操作失败
*/
public static Msg fail() {
Msg result = new Msg();
result.setCode(200);
result.setMsg("处理失败!");
return result;
}
/**
* 给对象增加数据
*/
public Msg add(String key, Object value) {
this.getExtend().put(key, value);
return this;
}
Msg类的整体代码如下
package com.wf.bean;
import java.util.HashMap;
import java.util.Map;
public class Msg {
//状态码
private int code;
//提示信息
private String msg;
//用户要返回给浏览器的数据
private Map<String, Object> extend = new HashMap<>();
/**
* 成功操作
*
* @return
*/
public static Msg success() {
Msg result = new Msg();
result.setCode(100);
result.setMsg("处理成功!");
return result;
}
/**
* 操作失败
*
* @return
*/
public static Msg fail() {
Msg result = new Msg();
result.setCode(200);
result.setMsg("处理失败!");
return result;
}
public Msg add(String key, Object value) {
this.getExtend().put(key, value);
return this;
}
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;
}
public Map<String, Object> getExtend() {
return extend;
}
public void setExtend(Map<String, Object> extend) {
this.extend = extend;
}
}
2. 自定义Msg类的使用
在controller中使用
/**
* 查询所有部门信息
* @return
*/
@RequestMapping("/list")
@ResponseBody
public Msg getDepts(){
List<Department> list = departmentService.getDepts();
return Msg.success().add("depts",list);
}