为了账号安全,请及时绑定邮箱和手机立即绑定

springboot @RequestBody 获取不到content-type="application/json"请求数据

springboot @RequestBody 获取不到content-type="application/json"请求数据

倚天杖 2019-05-22 21:26:43
我现在想获取一个content-type=application/json的回调数据,奇怪的是我使用@RequestBody获取不到数据,如下代码所示:@DatapublicclassBaiduDocNofityResponse{privateStringmessageId;privateStringmessageBody;privateStringnotification;privateStringserver;privateStringsubscriptionName;privateStringversion;privateStringsignature;}@PostMapping("/doc/notify")publicvoidnotify(@RequestBodyBaiduDocNofityResponseresponse){log.info("百度上传文档的回调通知:");log.info(response.toString());//**这里根本没有打印出数据**}但是如果换成下面这段代码就能获取到:@PostMapping("/doc/notify")publicvoidnotify(HttpServletRequestrequest)throwsIOException{log.info("requestcontent-type="+request.getContentType());log.info("百度上传文档的回调通知:"+request.toString());InputStreamis=request.getInputStream();Stringval=StreamUtil.inputStream2String(is,"UTF-8");log.info(val);//**这里能打印出数据**}有谁知道是什么原因吗?
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

不是通过JSON/Body格式传你的,你可以用@ModelAttribute替换@RequestBody,取Form/URL格式传值。而且两种方式对日期等特殊类型的format处理不太一样。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 2075 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信