Heim  >  Artikel  >  Java  >  Wie übergebe ich mehrere Variablen in @RequestBody mit Ajax und Spring MVC?

Wie übergebe ich mehrere Variablen in @RequestBody mit Ajax und Spring MVC?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 01:40:02239Durchsuche

How to Pass Multiple Variables in @RequestBody Using Ajax and Spring MVC?

Mehrere Variablen in @RequestBody mit Ajax und Spring MVC übergeben

Frage:

Wie können Sie mehrere Variablen übergeben? den HTTP-Anfragetext an einen Spring MVC-Controller mit Ajax? Konkret: Können Sie @RequestBody mit einzelnen Parametern verwenden oder ist dafür ein Wrapping-Objekt erforderlich?

Antwort:

Während @RequestBody normalerweise einem einzelnen Objekt zugeordnet ist, können Sie Sie können Ihr Ziel mit einer der folgenden Methoden erreichen:

Option 1: Verwenden von a Map

Um die Erstellung eines benutzerdefinierten Hintergrundobjekts zu vermeiden, können Sie @RequestBody einer Map zuordnen:

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody Map<String, String> json) {
   //json.get("str1") == "test one"
}

Dadurch können Sie auf die einzelnen Variablen zugreifen das JSON als Eigenschaften der Karte.

Option 2: Verwenden eines ObjectNode

Wenn Sie lieber mit dem vollständigen JSON-Baum arbeiten möchten, können Sie @RequestBody an Jacksons ObjectNode binden:

public boolean getTest(@RequestBody ObjectNode json) {
   //json.get("str1").asText() == "test one"
}

Dadurch erhalten Sie direkten Zugriff auf die JSON-Struktur und ihre verschiedenen Knoten.

Vergleich:

Beide Optionen bieten Verschiedene Ansätze zum Umgang mit mehreren Variablen in @RequestBody:

  • Die Verwendung einer Map vereinfacht den Zugriff auf einzelne Werte, erfordert jedoch einen eher manuellen Ansatz zum Extrahieren.
  • Die Verwendung eines ObjectNode bietet jedoch mehr Flexibilität Möglicherweise ist eine zusätzliche Handhabung erforderlich, um auf bestimmte Werte zuzugreifen oder den JSON-Baum zu durchlaufen.

Letztendlich hängt die beste Wahl davon ab die spezifischen Anforderungen Ihrer Anwendung und das erforderliche Maß an Flexibilität.

Das obige ist der detaillierte Inhalt vonWie übergebe ich mehrere Variablen in @RequestBody mit Ajax und Spring MVC?. 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