Java中自定义返回类(Controller统一返回对象)
自定义返回类需求:我们很多时候在传Json数据时都需要确定浏览器向服务器的请求是否成功,所以我们在返回Json数据时使用一个包装类将数据包装起来,并在其中添加一些状态码和成功失败的方法。代码:public class Msg {private int code;//请求响应码 200成功,400失败private String msg;//提示信息private Map<String,Obj
·
自定义返回类
需求:
我们很多时候在传Json数据时都需要确定浏览器向服务器的请求是否成功,所以我们在返回Json数据时使用一个包装类将数据包装起来,并在其中添加一些状态码和成功失败的方法。
代码:
public class Msg {
private int code;//请求响应码 200成功,400失败
private String msg;//提示信息
private Map<String,Object> data = new HashMap<>();//返回数据
public static Msg success(){
Msg result = new Msg();
result.setCode(200);
result.setMsg("请求成功!");
return result;
}
public static Msg fail(){
Msg result = new Msg();
result.setCode(400);
result.setMsg("请求成功!");
return result;
}
public Msg add(String key, Object value){
this.data.put(key, value);
return this;
}
//此处省略getter setter方法......
在Controller中使用
return Msg.success().add("pageInfo",page);
注意这种链式调用的方式,考虑一下我们是如何定义的方法,使得可以链式操作。
解释:
- 首先,Msg.success().add(),succes是静态方法,所以可以直接类名.方法名调用。
- 这时success方法返回的是一个添加了成功状态码和信息的对象,所以此对象拥有add方法(因为类中定义了)。
- add方法接收key和value,并将其放入类成员变量data中,也就放在了这个对象中,这个方法的this指的是这个对象。
更多推荐
已为社区贡献1条内容
所有评论(0)