Heim >Java >javaLernprogramm >Der Unterschied zwischen requestbody und requestparam

Der Unterschied zwischen requestbody und requestparam

(*-*)浩
(*-*)浩Original
2020-01-09 10:22:129708Durchsuche

Der Unterschied zwischen requestbody und requestparam

@RequestParam                                                                                                                                (empfohlenes Lernen: Java-Kurs)

wird verwendet, um Content-Type: application/x zu verarbeiten -www-form-urlencoded codierter Inhalt. (Wenn im HTTP-Protokoll Content-Type nicht angegeben ist, ist der standardmäßig übergebene Parameter der Typ application/x-www-form-urlencoded)

@RequestBody

Verarbeiten Sie die von HttpEntity übergebenen Daten und werden im Allgemeinen zum Verarbeiten von Daten im nicht-Content-Type: application/x-www-form-urlencoded-Codierungsformat verwendet.

•Bei GET-Anfragen gilt @RequestBody nicht, da keine HttpEntity vorhanden ist.

•In POST-Anfragen müssen die über HttpEntity übergebenen Parameter den Datentyp Content-Type im Anforderungsheader deklarieren. SpringMVC analysiert die Daten in HttpEntity mithilfe der von

HandlerAdapter konfigurierten HttpMessageConverters dann an die entsprechende Bean binden.

Zusammenfassung

• In GET-Anfragen kann @RequestBody nicht verwendet werden.

•In POST-Anfragen können Sie @RequestBody und @RequestParam verwenden, aber wenn Sie @RequestBody verwenden, muss die Konfiguration der Parameterkonvertierung vereinheitlicht werden.

Geben Sie beispielsweise im in SpringMVC konfigurierten HttpMessageConverters-Verarbeitungsstapel das JSON-Konvertierungsformat an. Wenn das Datum beispielsweise in „JJJJ-MM-TT“ konvertiert wird, werden die darin enthaltenen Felder angezeigt im Parameter Empfangsobjekt Wenn es sich um einen Datumstyp handelt, kann der Client nur das Jahres-, Monats- und Tagesformat übergeben, nicht jedoch die Stunden, Minuten und Sekunden.

Da unterschiedliche Schnittstellen und ihre Parameter möglicherweise unterschiedliche Formatanforderungen für Zeitparameter haben, führt dies dazu, dass der Client, der Kollegen anruft, ein wenig verwirrt über das Format der Parameter ist und die Skalierbarkeit nicht hoch ist.

Wenn Sie @RequestParam zum Akzeptieren von Parametern verwenden, können Sie @DateFormat im Modell, das Parameter akzeptiert, festlegen, um das Format der Zeitparameter anzugeben, die Sie akzeptieren müssen.

Außerdem werden die mit @RequestBody akzeptierten Parameter nicht von Servlet konvertiert und im Parametersatz Param des Anforderungsobjekts platziert.

Weitere technische Artikel zum Thema Java finden Sie in der Spalte Java-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen requestbody und requestparam. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn