/**
* @author StormMa
* @Date 2017-03-21
*/
生命不息,奮鬥不止!
之所以講究規範會請求處理,就是將每次的後端處理結果封裝成固定的格式去回送到前端,之於規範化的好處,就不甚枚舉了。我們先看看代碼實現吧!
定義結果集的規範
/**
* <p>Created on 2017/3/15.</p>
*
* @author StormMa
*
* @Description: 對請求結果進行封裝
*/
public class RequestResult<T> {
/**
* error code :錯誤是1、成功是0
*/
private Integer code;
/**
* 要返回的數據
*/
private T data;
/**
* 本次請求的說明信息
*/
private String msg;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
@Override
public String toString() {
return "RequestResult{" +
"code=" + code +
", data=" + data +
", msg='" + msg + '\'' +
'}';
}
}
結果集封裝
/**
* <p>Created on 2017/3/15.</p>
*
* @author StormMa
*
* @Description: 封裝請求結果的工具類
*/
public class ResultUtil {
/**
* 成功請求的結果封裝
* @param t
* @param <T>
* @return
*/
public static <T> RequestResult<T> success(T t) {
RequestResult<T> result = new RequestResult<>();
result.setCode(0);
result.setMsg("success");
result.setData(t);
return result;
}
/**
* 成功請求的結果封裝
* @param <T>
* @return
*/
public static <T> RequestResult<T> success() {
return success(null);
}
/**
* 失敗請求的結果封裝
* @param <T>
* @return
*/
public static <T> RequestResult<T> fail() {
RequestResult<T> result = new RequestResult<>();
result.setCode(1);
result.setData(null);
result.setMsg("fail");
return result;
}
/**
* 失敗請求的結果封裝
* @param msg
* @param <T>
* @return
*/
public static <T> RequestResult<T> fail(String msg) {
RequestResult<T> result = new RequestResult<>();
result.setCode(1);
result.setData(null);
result.setMsg(msg);
return result;
}
}
舉例
/**
* <p>Created on 2017/3/21.</p>
*
* @author StormMa
*
* @Description: 使用規範化結果響應
*/
@RestController
@RequestMapping(value = "/test")
public class TestController {
@Autowired
private ITestService testService;
@RequestMapping(value = "/{testId}")
public RequestResult<Test> getTest(@PathVariable int testId) {
Test test = testService.getTestById(testId);
if (test != null) {
return ResultUtil.success(test);
}
return ResultUtil.fail("不存在數據!");
}
}
結束語
看到規範化請求響應的好處了吧,Controller裏面的代碼更加簡潔明瞭!