spring mvc项目中前后端配合返回值的问题一直很烦,前端更希望后端每次返回的数据类型都是同一种格式的,这样前端每次取值的时候可以用同一种方式取出来,所以我们需要包装一个通用返回值类型
1:我们可以定义一个通用返回类
JsonResult这个类,并且规定三个参数:
private String success;
private String message;
private Object data;
1):success用于返回前端自定义的状态码 例如操作成功:200、用户被禁用:-1、用户没有权限操作-10等等
2):message存储我们需要返回给前端的提示语句(这里提示语句在后端做规定,前端人员只需要取出来值就可以了)
3):data如果需要给前端返回数据就放在data中
下一步:根据需求定义集中不同的构造函数,方便controller层调用
/
/ code 只返回code的情况 ResultCode为我们自定义的状态码类
public JsonResult(ResultCode code) {
this.setSuccess(code);
}
// code +message
public JsonResult(ResultCode code,String message) {
this.setSuccess(code);
this.setMessage(message);
}
// code+message+data
public JsonResult(ResultCode code, Object data) {
this.setSuccess(code);
this.setMessage(message);
this.setData(data);
}
最后:
controller在返回的时候就可以这样做了
return new JsonResult(ResultCode.SUCCESS);
或者
return new JsonResult(ResultCode.VALIDATE_ERR,ResultCode.VALIDATE_ERR.msg());