J'ai ajouté une validation (@javax.validation.Valid
) à mon @RestController
et dans la classe @RequestBody
j'ai utilisé @NotEmpty
annotation:messages personnalisés pour SpringBoot RESTful validation de haricots ne fonctionne pas
public class Invoice {
@NotEmpty
private String commentText;
// omitted
}
Lorsqu'un appel REST avec manquant commentText
est invoqué le bon erreur est renvoyée au client:
{
"timestamp": 1475599494823,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MethodArgumentNotValidException",
"errors": [ {
"codes": [
"NotEmpty.invoice.commentText",
"NotEmpty.commentText",
"NotEmpty.java.lang.String",
"NotEmpty"
],
"arguments": [ {
"codes": [
"invoice.commentText",
"commentText"
],
"defaultMessage": "commentText",
"code": "commentText"
}],
"defaultMessage": "may not be empty",
"objectName": "invoice",
"field": "commentText",
"bindingFailure": false,
"code": "NotEmpty"
}],
"message": "Validation failed for object='invoice'. Error count: 1",
"path": "/api/invoices/1"
}
J'ai créé src/main/resources/messages.properties avec le contenu suivant:
NotEmpty.invoice.commentText=Please type a comment
Le problème est qu'au lieu de la coutume « S'il vous plaît saisir un commentaire » le message d'erreur original est retourné au client. J'utilise SpringBoot 1.4 avec la configuration YAML et l'exécution de l'application dans Eclipse.
Une idée où le problème pourrait être?
des mises à jour sur ce problème? – user2049132