SpringBoot 中 @RequestBody的正确使用方法

本文详细介绍了在SpringBoot中使用@RequestBody注解遇到的问题及其解决方案。当尝试通过浏览器URL直接传递JSON数据时,由于Content-Type未设置为application/json,导致请求失败。解决方法包括通过Java编程或AJAX方式发送POST请求,并设置Content-Type。总结了@RequestBody的使用要点:所有请求参数需以JSON形式传递,且不能与@RequestParam同时使用。
摘要由CSDN通过智能技术生成

   @RequestMapping("doThis")  

  1. public String doThis(HttpServletRequest request,  
  2.         @RequestParam("id") Long id, // 用户ID  
  3.         @RequestParam("back_url") String back_url, // 回调地址           
  4.         @RequestBody TestEntity json_data // json数据,对于java实体类  
  5. ){//...  


  这个是一个请求映射方法,然后用浏览器输入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,因此s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值