SpringMVC使用JSON交互

本文记录Java学习过程中遇到的SpringMVC使用json交互~

@RequestBody注解

作用:

  • @RequestBody注解用于读取http请求的内容(字符串),通过SpringMVC提供的HttpMessageConverter接口将读到的内容(json数据)转换为Java对象并绑定到Controller方法的参数上。

传统的请求参数:

itemEdit.action?id=1&name=zhangsan&age=12

现在的请求参数(使用POST请求,在请求体里面加入json数据):

{
	"id": 1,
	"name": "测试商品",
	"price": 99.9,
	"detail": "测试商品描述",
	"pic": "123456.jpg"
}

@ResponseBody注解

作用:

  • @ResponseBody注解用于将Controller的方法返回的对象,通过springmvc提供的HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端。

添加Jar包

jackson-annotations-*.jar
jackson-core-*.jar
jackson-databind-*.jar

示例代码:

/**
 * 测试json的交互
 * @param item
 * @return
 */
@RequestMapping("testJson")
public @ResponseBody Item testJson(@RequestBody Item item) {
	return item;
}

示例代码(配置json转换器:springmvc.xml):

<!--处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
	<property name="messageConverters">
		<list>
			<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
		</list>
	</property>
</bean>

标签: none