文档章节

Springmvc如何接收Json的request

zimingforever
 zimingforever
发布于 2016/08/25 12:51
字数 318
阅读 92
收藏 2

前端通过ajax可以发送一个json给后端,这时候用springmvc如何处理呢?

1 前端代码要指定contenttype为json,并且通过stirngfy将json转为一个字符串

    contentType:"application/json",               
    data:JSON.stringify(jsondata), 

2 增加jackson的支持

	<!-- Jackson JSON Mapper -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>${jackson.version}</version>
		</dependency>

3 后端的contrller要用注解@RequestBody 支持

@RequestBody User jsondata

--在项目里部署后前端会报错400,后台报错为No suitable constructor found for type [simple type, class ]: can not instantiate from JSON object。问题原因有几种,1是前端的属性和后端的映射类的属性名不对 2是后端映射类是没有构造函数和public的方法 3 或者使用JsonProperty这个注解来处理

解决方案如下:http://stackoverflow.com/questions/7625783/jsonmappingexception-no-suitable-constructor-found-for-type-simple-type-class

http://stackoverflow.com/questions/12835911/jackson-jsonmappingexception-due-to-constructor

4 fecth api没有办法自动转换

前端使用了fetch api做异步交互,结果后端的类没有办法正确映射出对应的对象,报错The request sent by the client was syntactically incorrect.

前端发送的数据如下

Request Payload:
{name: "ha", id: 1}

这是因为前端使用body将对象放到request中

  opts.body=JSON.stringify(a);
  opts.method='POST';
  return fetch(url, opts)

所以后端参数映射必须也是body

@RequestBody A body

© 著作权归作者所有

zimingforever
粉丝 143
博文 266
码字总数 315040
作品 0
杭州
程序员
私信 提问
关于Spring MVC 3.1.x中如何替换数据Converter的问题

参考文献(15-09-20补充): + http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#rest-message-conversion+ http://docs.spring.io/spring/docs/current/sp......

IncRediblE
2014/07/25
0
0
SpringMvc 参数接收

如果前台将Object对象,使用JSON.stringify(obj)转成Json字符串,并依此请急求后台时,其中 contentType : application/x-www-form-urlencoded ,该属性为表单提交的默认类型。 使用Spring ...

hn_old_man
2016/04/23
135
0
SpringMVC常见面试题总结【概念】

什么是Spring MVC?介绍你对SpringMVC的理解。 springmvc是一个基于java实现了mvc设计模式的轻量级web框架,通过把model,view,controller分离,将web层进行解耦,把复杂的web应用分成几部分...

薛小二
05/24
0
0
一文读懂SpringMVC中的数据绑定

Struts2 和 SpringMVC 都是 Web 开发中视图层的框架,两者都实现了数据的自动绑定,都不需要我们手动获取参数然后关联到对应的属性上,下面就谈谈两者的区别。 Spring MVC 是基于方法的,通过...

Java高级技术
2018/09/26
0
0
SpringMVC简单构造restful, 并返回json

文章要要点: 快速搭建构造restful的StringMvc GET, POST , PUT , DELETE的各种调用 同一资源 多种表述 (ContentNegotiatingViewResolver解析器),既可以返回对象给JSP, 也可以返回JSON 快速搭...

未眠
2014/12/04
0
24

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 Java语法教程 编写Java源代码

现在我们来一步一步的编写第一个Java程序,鼎鼎大名的“HelloWorld”。 编写Java源代码 编写Java源代码可以使用任何无格式的文本编辑器,在Windows操作系统上可以使用记事本、Edit Plus等程序...

老码农的一亩三分地
30分钟前
2
0
JavaScript箭头函数中的this详解

前言 箭头函数极大地简化了this的取值规则。 普通函数与箭头函数 普通函数指的是用function定义的函数: var hello = function () {console.log("Hello, Fundebug!");} 箭头函数指的是用...

开元中国2015
41分钟前
2
0
ETL测试工具简介

ETL测试 ETL测试过程与其他测试过程类似,包括一些阶段。 确定业务需求 测试计划 设计测试用例和测试数据 测试执行和错误报告 总结报告 测试结束 ETL测试的类型 生产验证测试: 也称为表平衡...

python测试开发人工智能安全
53分钟前
3
0
OSChina 周四乱弹 —— 不能空腹吃早餐

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @for_ :#今日歌曲推荐# 很好听的钢琴曲,节奏简单,有一点伤感。分享Fabrizio Paterlini的单曲《Veloma》: 《Veloma》- Fabrizio Paterlini ...

小小编辑
今天
1K
17
探讨android更新UI的几种方法

作为IT新手,总以为只要有时间,有精力,什么东西都能做出来。这种念头我也有过,但很快就熄灭了,因为现实是残酷的,就算一开始的时间和精力非常充足,也会随着项目的推进而逐步消磨殆尽。我...

天王盖地虎626
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部