Übergabe mehrerer Variablen an einen Spring MVC-Controller mit Ajax
Wenn @RequestBody verwendet wird, um mehrere Variablen an einen Spring MVC-Controller zu übergeben, ist dies der Fall Es ist nicht notwendig, sie in einen Trägergegenstand einzuwickeln. Es gibt jedoch alternative Ansätze, die mehr Flexibilität bieten oder die Handhabung von JSON-Daten vereinfachen können.
Option 1: Verwenden Sie eine Karte
Wenn Sie keine dringenden Anforderungen haben- typisierten Parametern können Sie einen Map
@RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody Map<String, String> json) { //json.get("str1") == "test one" }
Dieser Ansatz erfordert kein benutzerdefiniertes Hintergrundobjekt und kann JSON-Daten mit beliebigen Schlüsseln verarbeiten.
Option 2: Verwenden Sie Jacksons ObjectNode
Für mehr Flexibilität können Sie an binden com.fasterxml.jackson.databind.node.ObjectNode, um auf die JSON-Daten als vollständigen JSON-Baum zuzugreifen:
@RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody ObjectNode json) { //json.get("str1").asText() == "test one" }
Mit diesem Ansatz können Sie die JSON-Daten dynamisch verarbeiten und Werte basierend auf ihrem JSON-Pfad extrahieren.
Weitere Überlegungen:
Das obige ist der detaillierte Inhalt vonWie übergebe ich mit Ajax mehrere Variablen ohne ein Hintergrundobjekt an einen Spring MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!