RequestBody 作为参数使用
来源:互联网 发布:淘宝差评可以删除么 编辑:程序博客网 时间:2024/06/05 04:45
最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法:
这个是一个请求映射方法,然后用浏览器输入url:http://127.0.0.1:8080/test/doThis?id=1&back_url=url&json_data={"code":2,"message":"test"}
在这个方法中,使用@RequestParam获取参数,然后使用@RequestBody对json格式的参数转换为Java类型
在运行的时候发现报错:Required request body is missing
@RequestBody的使用需要加载MappingJackson2HttpMessageConverter,但是SpringBoot的官方文档提到,这个是默认已经加载的了,而且json字符串和javabean也没有书写的错误
因此考虑到应该是请求Content-Type的问题,因为使用浏览器输入url的方式没有办法定义Content-Type,因此spring无法发现request body
为了证实这个想法,自己书写一个请求类:
请求还是失败,经过调试,发现需要去掉所有的@RequestParam注解才能成功
总结:
1、@RequestBody需要把所有请求参数作为json解析,因此,不能包含key=value这样的写法在请求url中,所有的请求参数都是一个json
2、直接通过浏览器输入url时,@RequestBody获取不到json对象,需要用java编程或者基于ajax的方法请求,将Content-Type设置为application/json
0 0
- RequestBody 作为参数使用
- springmvc 使用 @RequestBody接收参数
- @RequestBody使用
- 联网处理之如何把json作为参数传递,要用【RequestBody】
- 使用数组作为参数传递
- 函数作为参数的使用
- js 函数作为参数,作为回调函数的使用。
- 使用指针作为函数参数的注意事项
- 使用委托作为参数进行动态调用
- 使用JSON作为函数的参数
- 使用模版类作为模版参数
- 使用JSON作为函数的参数
- 二维数组如何作为函数参数使用?
- 二维数组如何作为函数参数使用?
- SpringMVC-03 使用POJO作为参数
- 使用函数模版作为函数参数
- 数组作为方法参数的使用
- OC中switch使用字符串作为参数
- Java 中HashMap和HashTable的区别?
- 使用vuejs输出Hello world
- 博客第一天
- CSS实现绝对定位居中
- error C3861: back_inserter : 找不到标识符(+补充新问题)
- RequestBody 作为参数使用
- POJ 1260 Pearls
- BeanUtils包的使用
- Struts2 2.5+ spring-framework-4.3.2+hibernate-5.2.1+jdbc集成
- poj 3272 Monthly Expenset
- Java加密和解密
- 【java设计模式系列】2. 单例模式(Singleton)
- 装饰者模式(DecoratorPattern)
- Four Ways Of Handling Multiple Submit Buttons In ASP.NET MVC