您現在的位置是:首頁 > 單機遊戲首頁單機遊戲
Spring Boot 全域性異常處理入門-實現返回自定義的實體類
- 2022-04-05
實體類是什麼
Spring Boot 全域性異常處理入門-初步理解異常處理機制
上一章我們透過實現ErrorController介面,統一了返回的異常JSON資料。
本文我們將實現自定義的實體類,用於向前端返回統一格式資訊。
一、定義ResponseMessage實體類
在示例專案中,新增ResponseMessage實體類,如圖所示。
ResponseMessage實體類程式碼如下:
public class ResponseMessage {
/**
* 是否成功
*/
private boolean success;
/**
* 返回文字
*/
private String msg;
/**
* 返回資料
*/
private Object data;
public ResponseMessage() {
}
public ResponseMessage(boolean success, String msg, Object data) {
this。success = success;
this。msg = msg;
this。data = data;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this。success = success;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this。msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this。data = data;
}
public static ResponseMessage success(){
return new ResponseMessage(true, null, null);
}
/**
* 成功返回方法
* @param data 返回資料
*/
public static ResponseMessage success(Object data){
return new ResponseMessage(true, null, data);
}
/**
* 失敗返回方法——預設
*/
public static ResponseMessage fail(){
return new ResponseMessage(false, null, null);
}
/**
* 失敗返回方法
* @param message 文字資訊
*/
public static ResponseMessage fail(String message){
return new ResponseMessage(false, message, null);
}
/**
* 失敗返回方法
* @param message 文字資訊
* @param data 資料
*/
public static ResponseMessage fail(String message, Object data){
return new ResponseMessage(false, message, data);
}
}
二 、更新MyErrorController中的errorHandler方法
更新後的程式碼如下所示:
@RequestMapping(ERROR_PATH)
public ResponseMessage errorHandler(HttpServletRequest request, HttpServletResponse response){
ServletWebRequest webRequest = new ServletWebRequest(request);
Map
return ResponseMessage。fail(“伺服器端異常!”, attr);
}
返回型別為ResponseMessage。
三、啟動應用
測試驗證異常時的返回結果,如圖所示,訪問一個不存在的端點,返回的型別為ResponseMessage。
透過Postman訪問,返回的JSON資料是一樣的。
(此處已新增圈子卡片,請到今日頭條客戶端檢視)