1.此基础控制器主要是封装一些应用在Controller的返回结果的操作。
2.主要包含:渲染成功数据、渲染失败数据、渲染成功数据(带消息)、渲染失败数据(带消息)等等。
/**
-
Describe: 封装Json返回信息
-
定义一个实体类用于存放返回状态、失败描述、返回数据等
-
@Author zq
/
public class JsonResult {
/*- 是否成功
/
private boolean success;
/*
请求返回状态
/
private String status;
/
请求失败描述
/
private String msg;
/
*请求返回数据
*/
private Object obj;
public boolean isSuccess() {
return success;
}public void setSuccess(boolean success) {
this.success = success;
}public String getStatus() {
return status;
}public void setStatus(String status) {
this.status = status;
}public String getMsg() {
return msg;
}public void setMsg(String msg) {
this.msg = msg;
}public Object getObj() {
return obj;
}public void setObj(Object obj) {
this.obj = obj;
}
} - 是否成功
=============================================
准备阶段
自定义一个Model,命名为JsonResult,此类里面存放我们在实际项目会常用的:1.布尔类型的状态;2.对应的信息描述;3.返回状态;4.返回的数据。此部分可以根据实际项目需求新增或减少自定的一些信息状态。
/**
-
基础控制器
-
编写一个utils工具类用于处理渲染的数据效果
-
使用protected进行修饰
-
@Author zq
*/
public class BaseController {/**
- 渲染失败数据
*/
public JsonResult renderError(){
JsonResult result=new JsonResult();
result.setSuccess(false);
result.setStatus(“500”);
return result;
}
/**
- 渲染失败数据(带消息)
*/
protected JsonResult renderError(String msg){
JsonResult result=new JsonResult();
result.setMsg(msg);
return result;
}
/**
- 渲染成功数据
*/
protected JsonResult renderSuccess(){
JsonResult result=new JsonResult();
result.setSuccess(true);
result.setStatus(“200”);
return result;
}
/**
- 渲染成功数据(带消息)
*/
protected JsonResult renderSuccess(String msg){
JsonResult result=new JsonResult();
result.setMsg(msg);
return result;
}
/**
*渲染成功数据(带数据)
*/
protected JsonResult renderSuccess(Object obj){
JsonResult result=new JsonResult();
result.setObj(obj);
return result;
}/**
- 渲染成功数据(带数据)
*/
protected JsonResult renderSuccess(Object obj,String msg){
JsonResult result=new JsonResult();
result.setObj(obj);
result.setMsg(msg);
return result;
}
}
- 渲染失败数据
=============================================
红框1的部分,展示的渲染失败数据(带消息);
红框2的部分,展示的渲染成功数据;
/**
*测试案例
-
@Author zq
*/
@RestController
@RequestMapping("/AAA")
public class RedisTestController extends BaseController{
@Autowired
private RedisUtis redisUtis;@Autowired
Abc abc;@PostMapping("/test")
public JsonResult abc(Abc abc){//加分布式锁处理 boolean lock = redisUtis.lock(RedisKeyConsts.ABC_CONFS, 10); if (!lock){ return renderError("网络繁忙稍后从试"); } //todo 进行数据的新增、修改、删除 //解锁 redisUtis.delete(RedisKeyConsts.ABC_CONFS); return renderSuccess();
}
}