這是我第一次開發 api REST spring boot。
當我有錯誤請求 400 時,我想回傳一條自定義訊息
你好,
這是我第一次開發 api REST spring boot。
我有我的控制器:
@GetMapping("/DetailDossier/{id},{parameters}/")
public ResponseEntity<List<DetailDossierRspn>> DetailDossierQstn(
@PathVariable(value = "id") String[] id, @PathVariable(value = "parameters") String parameters,
throws ParseException {
List<DetailDossierRspn> rspn = new ArrayList<>();
WSDetailDossierService mainDAO = new WSDetailDossierService();
// If Sql result return -> List<DetailDossierRspn>
// If no sql result return null
rspn = mainDAO.initialiserDAO(identifiant, coetb, null);
if (rspn == null) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} else {
return ResponseEntity.ok(rspn);
}
}
我想要回傳錯誤 400 的最簡單方法:
ResponseEntity<>(HttpStatus.BAD_REQUEST)
帶有自定義訊息。
我試圖創建一個 @ControllerAdvice 但它不起作用,因為我的控制器回傳一個 List<Object>
有沒有辦法做簡單的自定義訊息?
謝謝 ;)
uj5u.com熱心網友回復:
您需要創建一個自定義@ControllerAdvice:
@Component 用于宣告 @ExceptionHandler、 @InitBinder 或 @ModelAttribute方法的類的特化,以便在多個 @Controller 類之間共享。
擴展ResponseEntityExceptionHandler:
@ControllerAdvice類的方便基類,希望通過 @ExceptionHandler 方法在所有 @RequestMapping 方法中提供集中式例外處理。
基本上是這樣的:
@ControllerAdvice
public class CustomExceptionHandler extends ResponseEntityExceptionHandler {
@Override
protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
return new ResponseEntity<>("my custom message", status);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454186.html
