Heim >Java >javaLernprogramm >Wie übertrage ich JSON-Daten bidirektional mit Spring MVC und jQuery?

Wie übertrage ich JSON-Daten bidirektional mit Spring MVC und jQuery?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-21 00:44:181033Durchsuche

How to Bidirectionally Transfer JSON Data with Spring MVC and jQuery?

Bewältigung der bidirektionalen Datenübertragung mit JQuery, Spring MVC und JSON

Trotz des Erfolgs bei der Datenübertragung von Java zu JSON mithilfe von @ResponseBody wurde der umgekehrte Weg implementiert schwer fassbar. Dieser Artikel befasst sich mit der Lösung, JSON mithilfe von @RequestBody wieder in ein Java-Objekt zu serialisieren.

Voraussetzungen für den Erfolg

Um ein nahtloses Erlebnis zu gewährleisten, stellen Sie Folgendes sicher:

  • Korrekte Jackson-Konfiguration: Stellen Sie sicher, dass MappingJacksonHttpMessageConverter registriert ist, was normalerweise durch erreicht wird. in XML oder @EnableWebMvc in Java.

Ein umfassendes Beispiel

Um die Lösung zu veranschaulichen, betrachten Sie das folgende Beispiel:

web.xml:

<servlet>
  <servlet-name>json</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>json</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

json-servlet.xml:

<beans>
  <import resource="classpath:mvc-context.xml" />
</beans>

mvc-context.xml:

<beans>
  <mvc:annotation-driven />
  <context:component-scan base-package="test.json" />
</beans>

TestController (Controller-Klasse):

@Controller
@RequestMapping("/test")
public class TestController {

  @RequestMapping(method = RequestMethod.POST, value = "math")
  @ResponseBody
  public Result math(@RequestBody final Request request) {
    ...
  }

}

Anfrage (POJO für POST-Anfragen):

public class Request {
  private int left;
  private int right;
  ...
}

Ergebnis (POJO für serialisierte Antworten):

public class Result {
  private int addition;
  private int subtraction;
  private int multiplication;
  ...
}

Testen der Lösung

Führen Sie den Befehl mvn jetty:run aus und senden Sie die folgende POST-Anfrage:

  • URL: http://localhost:8080/test/math
  • MIME-Typ: application/json
  • Post Body: { "left": 13, "right" : 7 }

Die Antwort, die Sie erhalten sollten:

{"addition":20,"subtraction":6,"multiplication":91}

Dies demonstriert die bidirektionale Datenübertragung zwischen JSON und Java mithilfe von @RequestBody.

Das obige ist der detaillierte Inhalt vonWie übertrage ich JSON-Daten bidirektional mit Spring MVC und jQuery?. 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