[英]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.