簡體   English   中英

是否可以使用@RequestParam從JSON轉換為域對象

[英]Is it possible to convert from JSON to domain object with @RequestParam

我正在從JavaScript腳本(AngularJS)進行多部分請求,並且將JSON數據作為第一部分,並將可選文件作為第二部分。 是否可以將@RequestParam(“ data”)從JSON自動轉換為應用程序中的類? 就像@RequestParam("data") Dog dog

是。 在對象之前使用@RequestBody批注( http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-requestbody ):

public void jsonMethod(@RequestBody Dog dog)

注意:您必須具有傑克遜才能將json轉換為自定義對象。 傑克遜行家依賴:

<dependency>
   <groupId>org.codehaus.jackson</groupId>
   <artifactId>jackson-mapper-asl</artifactId>
   <version>1.7.1</version>
</dependency>

像這樣定義您的方法簽名:

@RequestMapping(value="/jsonRequest")
public @ResponseBody SomeResult jsonHandler(@RequestBody(required=false) Dog dog, 
       @RequestPart(value="part2", required=false) String part2) {
...
}

是的,您必須使用Jackson。 對傳入參數使用@RequestBody批注。 為codehous.jackson添加依賴項。 並將JsonConverter添加到spring上下文文件

<mvc:annotation-driven>
  <mvc:message-converters>
     <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
   </mvc:message-converters>
</mvc:annotation-driven>

順便說一句,您可以在這里查看教程。 他們使用JSON和spring MVC: sites.google.com/site/upida4j/example

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM