Required request body is missing: public void
时间: 2023-10-17 09:33:04 浏览: 179
基于SpringBoot2+Shiro+Thymeleaf的后台管理系统源码+数据库.zip
当在拦截器中调用了request.getInputStream()时,请求的body只能被读取一次。如果再次尝试读取请求的body,就会出现"Required request body is missing"的错误。
最近,我对代码进行了统一的日志处理,通过拦截器打印请求日志,以方便排查问题。但是在拦截器中取参数时遇到了"Required request body is missing"的问题。经过相关实验,我最终解决了这个问题。
在解决这个问题之前,我首先需要明确所需的请求实体。例如,我可以创建一个名为InterceptRequest的Java类,该类包含了我所需的参数。
请注意,这只是一个范例代码,你需要根据你的实际情况适配InterceptRequest类。在你的控制器方法中,你可以使用@RequestBody注解来标注方法参数,以确保请求的body能够正确映射到InterceptRequest对象。例如,你可以这样定义一个方法:public void methodName(@RequestBody InterceptRequest request)。
这样,你就可以在拦截器中正常访问到请求的body,并且避免了"Required request body is missing"的错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [springboot报错,网上不好找的处理方式](https://blog.csdn.net/a1915384707/article/details/97956330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Required request body is missing](https://blog.csdn.net/hai330/article/details/123409987)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文