Wie mark Spring MVC params, wie erforderlich
Habe ich eine solche Methode im Frühjahr controller
@RequestMapping(value = "/updateArticle", method = RequestMethod.POST)
@ResponseBody
public void updateArticle(Long id, String name, String description) {
...
}
Möchte ich die id und name ERFORDERLICH. In anderen Worten, wenn Sie null-Werte, dann wird eine exception geworfen werden muss.
Wie kann ich das tun? Gibt es eine annotation für diese oder ähnliches?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist.
@RequestParam(required=true)
Siehe docs.Erforderlich Flagge ist sogar standardmäßig true, also alles, was Sie tun müssen, ist:
?name=
wird mit leerer string zugewiesen Namen. Für eine differenziertere Validierung müssen Sie mit der Antwort von @blackpanther plus vielleicht implementieren Sie eine benutzerdefinierte javax.die Validierung.ConstraintValidator (einige Frühling docs hier )Müssen Sie RequestParam mit den erforderlichen true annotation im controller
Wenn Sie auf diesen controller URL aus dem browser und wenn einer der Parameter ist die mission, dann erhalten Sie
incorrect syntax error
auf browser -Ich nehme an, Sie übergeben werden, eine form zu diesem controller. Daher konvertieren Sie alle Formularfelder in ein Formular-Objekt und dann können Sie verwenden, Java-Validierungen auf Sie. So, zum Beispiel, Sie haben die id, Namen und Beschreibung der Felder in der form:
Dann, in Ihrem controller:
}
Ich verwende derzeit diese Methode. Es wird Ihnen helfen.