springboot拦截器获取参数反设值
时间: 2023-08-17 22:13:17 浏览: 214
SpringBoot拦截器
在SpringBoot拦截器中获取参数并进行反设值的方法有多种。根据引用\[2\]中的内容,如果是接口地址后面问号拼接的参数或表单参数,可以使用`request.getParameter("参数名")`来获取。而对于POST请求的body参数,可以通过调用`request.getInputStream()`获取流,然后从流中读取参数。但是需要注意的是,经过拦截器后,参数经过`@RequestBody`注解赋值给controller中的方法时,可能会抛出`org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing`异常。这可能是因为在拦截器中已经读取了一次流,导致controller无法再次读取。解决这个问题的方法是在拦截器中将流进行包装,以便在controller中能够正常读取参数。具体的实现方式可以根据具体的需求和场景进行调整。
#### 引用[.reference_title]
- *1* *3* [SpringBoot拦截器如何获取http请求参数](https://blog.csdn.net/weixin_29331015/article/details/111948704)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [springboot拦截器获取http请求参数](https://blog.csdn.net/z17806289513/article/details/124454000)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文