springmvc使用@requestBody注释json数据,浏览器错误415

2 篇文章 0 订阅
1 篇文章 0 订阅

其他的都不想说了,今天下午弄了好几个小时开始在网上搜索各种解决方案

po没有序列化,没有配置转换器,缺少Jackson包,ajax data有的说要字符串有的要对象哭抓狂骂人什么奇奇怪怪的都有。

但是都试完了前端怎么都是415,后台总是打印一个警告

WARN 2016-11-09 00:23:23,265 [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver]- Handler execution resulted in exception: Content type 'application/json' not supported

最后终于找到解决方法了,所以现在总结一下使用@requestBody需要的东西

1.首先,springMVC的配置文件 <mvc:annotation-driven />这个是必不可少的。

2.重点就是需要的jar包,我主要就是缺少jar包,而且网上我找到的都不完整,spring的jar不用说关键就是jackjsond的


3.还有就是像其他人说的前端请求 contentType : 'application/json' ;还有不少人说需要dataType : 'json',但经过我的测试不添加也能成功绑定

4.经过我的测试data 需要使用JSON.stringify()函数将其转为字符,否者会失败。这是我成功的唯一一个例子,我也不明白为什么,据前端同学介绍这里很多都是没必要写的

但我不写又不能成功。。。

(第三点所说与截图不一致,这是我两次测试的不同结果我也不知道为什么。截图上的dataType属性可以不加)



若报 Required request body is missing 可能是请求方式问题,我今天弄了半天换成post就ok了

补充一点使用@RequestBody注释绑定时间参数需要使用

@DateTimeFormat(pattern = "yyyy-MM-dd")

只需加在po属性声明前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值