目前,我們正在為 pathVariable 添加強制驗證 - 具有自定義訊息作為回應。
當@PathVariable被洗掉時,它會給出 404 錯誤并且不會進入任何例外處理程式。你能幫忙解決這個問題嗎?
@PostMapping(path = "{id}")
public ResponseEntity<String> migrate(@PathVariable(value = "id")
@Size(min = 1, max = 64, message = INVALID_FIELD_LENGTH_DETAILS)
String id) {
...
}
錯誤回應如下:
{
"timestamp": "2022-02-08T15:26:58.649 00:00",
"status": 404,
"error": "Not Found",
"message": "",
"path": "/migrations"
}
uj5u.com熱心網友回復:
尚不支持 javax.validation 注釋:https ://github.com/spring-projects/spring-framework/issues/11041
您可以嘗試幾種解決方法,例如:
@PostMapping(path = {"", "/{id}"})
public ResponseEntity<String> migrate(@PathVariable(value = "id", required = false)
Optional<String> id) {
if (!id.isPresent() && id.get().length() > 64) {
return new ResponseEntity<>("Validation error", HttpStatus.BAD_REQUEST);
} else {
return new ResponseEntity<>(id.orElse(""), HttpStatus.OK);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425400.html
上一篇:如何通過驗證孩子來改變父母?
下一篇:清潔架構中的表單驗證
