Das hört sich im Grunde so an, als würden Sie fragen "Was ist ein RequestParam
und warum sollte ich es benutzen?"
Mit der RequestParam können Sie das Argument des Methodenparameters an den Webanforderungsparameter binden. Ohne weitere Attribute teilt Ihr Beispiel Spring mit, dass ein Parameter name
und age
erforderlich ist und Spring diese zwei Parameter mit der eingehenden Anforderung verknüpfen kann. Sie können required
-false
optional eingestellt, na ja, das Argument, optional:
public String PrintInfo(@RequestParam("name", required = false) String name,
@RequestParam("age") int age) {
Als äußerst nützliche Funktion, können Sie auch ein defaultValue
im Fall liefern können Sie einen leeren Wert aus der Anfrage. So können Sie tun:
public String PrintInfo(@RequestParam("name", defaultValue="John Doe") String name,
@RequestParam("age") int age) {
... und Sie werden nie mit einem Nullnamen beschäftigen.
Schließlich macht es auch einige magische Art Konvertierungen, wie zum Beispiel automatisch mit einem Integer
Typ. In Ihrem Beispiel hätten Sie folgendes verwenden können:
public String PrintInfo(@RequestParam("name") String name,
@RequestParam("age") Integer age) {
... und Spring hätte es automatisch ohne zusätzliche Arbeit verpackt.
Es gibt nichts an sich falsch mit dem Verlassen der RequestParam
Annotation, aber Sie sagen im Wesentlichen nein zu Spring diese Funktionen wie in Ihrem zweiten Fall zu aktivieren.
Abgesehen:
@RequestMapping(value="/print")
kann mehr einfach geschrieben werden als @RequestMapping("/print")
klingt wie du hast schon die Antwort! –