前言
前后端的数据交互,除了通过form表单进行提交外,也可以通过ajax向后端传递和接收json格式数据(这种方式可以实现请求数据和页面分离)。本文将总结一下在Spring MVC中接收和响应json数据的几种方式。
话不多说了,来一起看看详细的介绍吧
准备步骤:
1.导入json相关框架的依赖(比如jackson)。
2.spring mvc的controller方法正常写,如果需要响应json,增加@responsebody注解。
3.在接受json对应的输入参数前,加上@RequestBody注解。
服务端接收json数据还原为java对象,称为反序列化,反之,将java对象作为响应转换为json数据发回给客户端,称为序列化。
注意:因为要使用ajax,所有一定要引入jQuery,切记!
jackson maven依赖:
com.fasterxml.jackson.core
jackson-core
2.7.0
com.fasterxml.jackson.core
jackson-databind
2.7.0
com.fasterxml.jackson.core
jackson-annotations
2.7.0
一、以实体类接收
背景:当ajax传递的参数较多时,采用参数名匹配的方法不太方便。如果后台有对应的实体类,这时可以选择在客户端将数据封装为json格式传递给后台,后台用对应的实体类进行接收。
客户端:
点我
function clickMe() {
$.ajax({
type : 'POST',
url : "acceptJsonByEntity",
contentType : "application/json;charset=utf-8",
// 如果想以json格式把数据提交到后台的话,JSON.stringify()必须有,否则只会当做表单提交
data : JSON.stringify({
"bookId" : 1,
"author" : "Jack"
}),
// 期待返回的数据类型
dat