ResponseBodyAdvice和MessageConverter
时间: 2024-01-11 11:41:20 浏览: 171
RequestBodyAdvice和ResponseBodyAdvice是用于对请求和响应的消息进行处理的接口。它们可以在HttpMessageConverter转换消息之前和之后对消息进行定制化操作。
HttpMessageConverter是用于将请求和响应的消息与Java对象进行转换的组件。它负责将请求的消息转换为方法参数的对象,并将方法的返回值转换为响应的消息。
具体来说,在请求的处理过程中,HttpMessageConverter首先会将请求的消息转换为Java对象。在这个过程中,可以使用RequestBodyAdvice接口的beforeBodyRead方法在消息转换之前对请求的消息进行处理。然后,HttpMessageConverter会将转换后的Java对象作为参数传递给业务方法进行处理。在业务方法处理完毕后,HttpMessageConverter会将方法的返回值再次转换为响应的消息。在这个过程中,可以使用ResponseBodyAdvice接口的beforeBodyWrite方法在消息转换之后对响应的消息进行处理。
因此,RequestBodyAdvice和ResponseBodyAdvice可以在HttpMessageConverter转换消息的前后对消息进行修改、记录日志或添加额外的信息等操作。它们提供了更灵活的方式来对请求和响应的消息进行定制化处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Spring解密之RequestBodyAdvice、ResponseBodyAdvice、HttpMessageConverter](https://blog.csdn.net/Sophisticated_/article/details/102614321)[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_2"}}] [.reference_item style="max-width: 50%"]
- *2* [ResponseBodyAdvice和HttpMessageConverter应用浅析](https://blog.csdn.net/qq_26950567/article/details/115263381)[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_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文