在项目中通常我们的controller层中,每个方法都要有一个返回值对象,通过返回值对象传给前端工程师以便于处理业务需求,如果我们在controller每个方法都没有统一的返回值对象,我们的代码可维护性就会很差,前端工程师处理起来也不是很方便,便于这样的情况,我们通常的做法是整个项目中,封装一个总得全局响应对象,下面是我封装的JsonCallBack对象
package com.tcyl.dam.savior.json;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JsonCallBack implements Serializable {
/**
* 封装执行成功标示的返回值
*/
@Builder.Default
private Boolean success = true;
/**
* 封装执行成功与否内容的返回值
*/
private String message;
/**
* 封装键值对的返回值
*/
@Builder.Default
private Map<String, Object> pairs = new HashMap<String, Object>();
}
响应对象在项目中的使用
/**
*管理员查看点位(baoliu)
* @author lipeng
* @version 1.0
* @date 2020/5/19 13:50
* @param
* " Integer "
*/
@RequestMapping(value = "adminPosition", method = RequestMethod.POST)
@ResponseBody
public JsonCallBack adminFindPosition(@RequestBody Position position,@CookieValue(value = "user") String use) {
JsonCallBack jsonCallBack = JsonCallBack.builder().build();
try {
User user = findApplyPerson(use);
List<Position> data=positionService.adminFindPosition(position,user);
jsonCallBack.setMessage("查询成功!");
jsonCallBack.getPairs().put("data",data);
} catch (Exception e) {
jsonCallBack.setSuccess(false);
jsonCallBack.setMessage(e.getMessage());
logger.error(e.getMessage());
e.printStackTrace();
}
return jsonCallBack;
}