Printemps - validation de l'attribut Entier
J'ai entité:
public class User{
@NotNull
private Integer age;
}
Dans Restcontroller:
@RestController
public UserController {
.....
}
J'ai BindingResult, mais le champ de l'âge de Printemps n'est pas valider. Pouvez-vous me dire pourquoi?
Merci pour vos réponses.
- Merci de poster votre contrôleur de méthode..
- public annuler la commande addUser(@Valide @RequestBody Utilisateur de l'utilisateur, BindingResult result) { if(result.hasErrors()){ certains d'action } }
Vous devez vous connecter pour publier un commentaire.
Si votre annonce quelque chose comme les données JSON représentant le
User
classe, vous pouvez utiliser l'annotation@Valid
en collaboration avec @RequestBody déclencher la validation des annotations telles que la@NotNull
que vous avez sur votreage
de la propriété. Puis avecBindingResult
vous pouvez vérifier si l'entité/les données ont erreurs et les traiter en conséquence.J'avais assurez-vous que votre
User
classe a aussi le@Entity
annotation ainsi.Vous pouvez définir les propriétés de sortie/log SQL, de sorte que vous pouvez voir que les contraintes sont ajoutées à la table Utilisateur.
Espérons que cette aide!
@Min(1)
ou@Range(min=1, max=10000)
à laInteger
l'âge de la propriété et de voir si elle a réussi valide.@Min
ou@Range
parce que vos données sont à venir dans la via JSON comme unString
pour laage
de la propriété. Essayer d'obtenir le JSON pour envoyer un numéro à la place si vous le pouvez et@NotNull
peut être tout ce dont vous avez besoin. Dans l'exemple, la forme du champ âge a un haricot adossés à des biens de sorte qu'il doit être la conversion d'un numéro sur "soumettre". Le @Min ou @Gamme convertit implicitement à un type de numéro lors de la vérification. L'ajout d'un@Range
à quelque chose comme l'âge ferait sens, bien que vous ne voudriez pas l'utilisateur d'entrer l'âge de 999. Veuillez cocher la réponse qui vous aideront à résoudre le problème. Merci!