54SpringMVC - JSON交互

简介: 54SpringMVC - 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"
}

本例子应用:

@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定

@ResponseBody

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

本例子应用:

@ResponseBody注解实现将Controller方法返回java对象转换为json响应给客户端。

请求json\响应json实现

1. 加入jar包

如果需要springMVC支持json,必须加入json的处理jar

我们使用Jackson这个jar,如下图:

2. ItemController编写

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

3. 安装谷歌浏览器测试工具

参考安装文档,如下图:

4. 测试方法

测试方法,如下图:

5.测试结果

6.配置json转换器

如果不使用注解驱动< mvc:annotation-driven />,就需要给处理器适配器配置json转换器,参考之前学习的自定义参数绑定。

在springmvc.xml配置文件中,给处理器适配器加入json转换器:

<!--处理器适配器 -->
  <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>
目录
相关文章
|
29天前
|
JSON C语言 数据格式
C语言与lua通过json对象交互
C语言与lua通过json对象交互
17 1
|
4月前
|
JSON 前端开发 JavaScript
JAVAEE框架技术之5-springMVC参数绑定和异步交互
JAVAEE框架技术之5-springMVC参数绑定和异步交互
57 0
JAVAEE框架技术之5-springMVC参数绑定和异步交互
|
5月前
|
JSON 前端开发 Java
Spring Boot中JSON的数据结构和交互讲解以及实战(超详细 附源码)
Spring Boot中JSON的数据结构和交互讲解以及实战(超详细 附源码)
152 1
|
5月前
|
前端开发
SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互
SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互
37 0
|
6月前
ajax+json模拟一个页面多个统计图数据交互
ajax+json模拟一个页面多个统计图数据交互
27 1
|
9月前
|
JSON 安全 Java
|
11月前
|
JSON 前端开发 Java
《Spring MVC》 第七章 JSON数据交互
《Spring MVC》 第七章 JSON数据交互
51 0
|
11月前
|
XML JSON 前端开发
Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递
前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。   本篇实现网页内部使用js调用ajax实现异步交互数据。   在js中使用 ajax是通过XMLHttpRequest来实现的。
|
JSON 前端开发 数据格式
SpringMVC学习笔记(获取参数,传递参数——关于前后端传参交互的总结、from表单、Ajax数据提交))(下)
SpringMVC学习笔记(获取参数,传递参数——关于前后端传参交互的总结、from表单、Ajax数据提交))(下)
|
前端开发 Java API
SpringMVC学习笔记(获取参数,传递参数——关于前后端传参交互的总结、from表单、Ajax数据提交))(上)
SpringMVC学习笔记(获取参数,传递参数——关于前后端传参交互的总结、from表单、Ajax数据提交))(上)
140 0