JSON wird an Spring Controller gesendet

8

Hallo, ich beginne im Frühjahr mit Web Services, also versuche ich, eine kleine Anwendung in Spring + JSON + Hibernate zu entwickeln. Ich habe ein Problem mit HTTP-POST. Ich habe eine Methode erstellt:

%Vor%

Und mein Modell Test sieht so aus:

%Vor%

Mit POSTMAN sende ich einfach JSON {"name": "testName"} und bekomme immer einen Fehler;

%Vor%

Ich habe die Jackson-Bibliothek importiert. Meine GET-Methoden funktionieren einwandfrei. Ich weiß nicht, was ich falsch mache. Ich bin dankbar für Vorschläge.

    
user2239655 31.08.2013, 16:44
quelle

4 Antworten

20

Konvertieren Sie Ihr JSON-Objekt mit

in JSON String

JSON.stringify ({"name": "testName"})

oder manuell. @RequestBody erwartet die JSON-Zeichenfolge anstelle des JSON-Objekts.

Hinweis: stringify Funktion mit Problem mit einigen IE-Version, Firefox funktioniert es

Überprüfen Sie die Syntax Ihrer Ajax-Anfrage für eine POST-Anfrage. Die Eigenschaft processData: false ist in der Ajax-Anforderung erforderlich

%Vor%

Controller

%Vor%

@RequestBody -Covert Json-Objekt für Java

@ResponseBody - Java-Objekt in json konvertieren

    
Vineeth Bhaskaran 01.09.2013, 03:40
quelle
0

Versuchen Sie stattdessen, die Anwendung / * zu verwenden. Und verwenden Sie JSON.maybeJson (), um die Datenstruktur im Controller zu überprüfen.

    
Vin Tsie 31.08.2013 17:01
quelle
0

Vergessen Sie nicht, Getter und Setter zu Ihrer Modellklasse hinzuzufügen (im Beispiel die Klasse Test).

    
Giuseppe Galano 19.01.2014 02:36
quelle
0

Gehen Sie folgendermaßen vor, wenn Sie json als HTTP-Anforderung und -Antwort verwenden möchten. Also müssen wir Änderungen in [context] .xml

vornehmen %Vor%

MappingJackson2HttpMessageConverter zu RequestMappingHandlerAdapter messageConverters, damit die Jackson API eintritt und JSON in Java Beans konvertiert und umgekehrt. Mit dieser Konfiguration verwenden wir JSON im Anfragetext und wir erhalten JSON-Daten in der Antwort.

Ich biete auch ein kleines Code-Snippet für den Controller-Teil an:

%Vor%

Also in obigem Code wird das emp-Objekt direkt in json als Antwort umgewandelt. Das gleiche gilt auch für die Post.

    
Aman Goel 19.04.2017 11:56
quelle

Tags und Links