DTO:如何自定義Spring @Valid驗證的默認錯誤消息?
public class User {
@NotNull
private String name;
@NotNull
private String password;
//..
}
控制器:
@RequestMapping(value = "/user", method = RequestMethod.POST)
public ResponseEntity<String> saveUser(@Valid @RequestBody User user) {
//..
return new ResponseEntity<>(HttpStatus.OK);
}
默認JSON錯誤:
{"timestamp":1417379464584,"status":400,"error":"Bad Request","exception":"org.springframework.web.bind.MethodArgumentNotValidException","message":"Validation failed for argument at index 0 in method: public org.springframework.http.ResponseEntity<demo.User> demo.UserController.saveUser(demo.User), with 2 error(s): [Field error in object 'user' on field 'name': rejected value [null]; codes [NotNull.user.name,NotNull.name,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.name,name]; arguments []; default message [name]]; default message [may not be null]],"path":"/user"}
我想有我自定義的JSON爲每個錯誤發生。我如何實現這一目標?
@ksaughs什麼的ApiErrors類? – user6123723
org.springframework.validation.Errors from spring-context jar – kswaughs
@kswaughs,我搜索了各處的ApiErrors,並且無法在任何地方找到它。我還在maven中包含了spring-context依賴,並且找不到任何東西。唯一的網頁結果是在你的答案中提到它的這個計算器頁面。你能幫忙嗎? – user238607