Heim >Java >javaLernprogramm >Wie integriere ich JQuery, @RequestBody von Spring MVC und JSON für die bidirektionale Serialisierung?

Wie integriere ich JQuery, @RequestBody von Spring MVC und JSON für die bidirektionale Serialisierung?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 20:32:10653Durchsuche

How to Integrate JQuery, Spring MVC's @RequestBody, and JSON for Bidirectional Serialization?

JQuery, Spring MVC @RequestBody und JSON – damit sie zusammenarbeiten

Während die Serialisierung von Java-Objekten in JSON für die JQuery-Verwendung unkompliziert sein kann, ist der umgekehrte Weg das Parsen JSON und die Konvertierung in Java-Objekte können eine Herausforderung darstellen. Dieser Artikel führt Sie durch die notwendigen Schritte, um diese bidirektionale Serialisierung Wirklichkeit werden zu lassen.

Das Problem: JSON zu Java mit @RequestBody

So deserialisieren Sie JSON in ein Java-Objekt mit Spring MVC @RequestBody , ist es unbedingt erforderlich, den MappingJacksonHttpMessageConverter zu registrieren. Dies kann zwar manuell erfolgen, die einfachste Methode ist jedoch die Verwendung von in XML oder @EnableWebMvc in Java.

Ein Arbeitsbeispiel

Betrachten Sie das folgende Beispiel, das eine Komplettlösung für die bidirektionale JSON-Serialisierung zeigt:

Maven POM

<!-- Spring MVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>
<!-- Jackson -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.4.2</version>
</dependency>

Servlet-Mapping

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

#### Spring Bean Configuration

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

#### `mvc-context.xml`

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

#### Controller

@Controller
@RequestMapping("/test")
öffentliche Klasse TestController {

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

}

#### Domain Objects

öffentliche Klassenanfrage {

// ... fields and getters/setters ...

}

öffentliches Klassenergebnis {

// ... fields and getters/setters ...

}

#### Testing the Setup

Using the Poster Firefox plugin, send a POST request to the following URL:

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

#### Expected Response

{" Addition":20,"Subtraktion":6,"Multiplikation":91}

Das obige ist der detaillierte Inhalt vonWie integriere ich JQuery, @RequestBody von Spring MVC und JSON für die bidirektionale Serialisierung?. 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