爲了規範後臺開發接口的標準,以及便於前臺統一處理接口返回數據,定義一個通用的返回類是必要的。
@ApiModel("統一的返回類型")
public class ResultBean<T> {
private static String SUCCESS_CODE="0";
private static String ERROR_CODE="1";
private static String REFUSED_CODE="2";
public ResultBean(T data){
this.data = data;
}
/**
* 執行結果:0成功1失敗
*/
@ApiModelProperty("結果代碼:0成功1失敗")
private String code;
/**
* 描述(錯誤原因)
*/
@ApiModelProperty("失敗原因")
private String message;
/**
* 返回對象
*/
@ApiModelProperty("返回結果的json")
private T data;
public ResultBean success(){
this.code = SUCCESS_CODE;
return this;
}
public ResultBean failed(String errorMessage){
this.data = null;
this.code = ERROR_CODE;
this.message = errorMessage;
return this;
}
public ResultBean refused(){
this.data = null;
this.code = REFUSED_CODE;
return this;
}
//getter and setter
}
Controller層示例
@ApiOperation(value = "查看", notes = "")
@ResponseBody
@RequestMapping(value = "/view", method = {RequestMethod.GET})
public ResultBean<YourBean> view(String id) {
try {
return new ResultBean(service.findById(id)).success();
} catch (Exception e) {
logger.error("",e);
return new ResultBean(null).failed(e.getMessage());
}
}