DTO:Come personalizzare il messaggio di errore predefinito da primavera @Valida valida?
public class User {
@NotNull
private String name;
@NotNull
private String password;
//..
}
Controller:
@RequestMapping(value = "/user", method = RequestMethod.POST)
public ResponseEntity<String> saveUser(@Valid @RequestBody User user) {
//..
return new ResponseEntity<>(HttpStatus.OK);
}
default errore 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"}
Vorrei avere il mio JSON personalizzata per ogni errore. Come lo realizzo?
@ksaughs Qual è la classe ApiErrors? – user6123723
org.springframework.validation.Errors dal jar del contesto di primavera – kswaughs
@kswaughs, ho cercato ApiErrors ovunque e non sono riuscito a trovarlo da nessuna parte. Ho anche incluso la dipendenza del contesto primaverile in Maven e non ho trovato nulla. Gli unici risultati web sono in questa pagina StackOverflow in cui la menzioni nella tua risposta. Potresti aiutare? – user238607