消息转换器的具体工作机制示意图
SpringMVC处理json底层就是依靠HttpMessageConverter来实现的。
前台发来一个请求报文,根据请求报文的类型来选择一个实现了HttpinputMessage的接口的类来封装信息,然后根据请求头的Accept属性来选择对应的实现了HttpMessageConverter的接口的类来进行转换,然后打到SpringMVC的controller的对应的方法进行处理,处理好后根据响应头的Accept属性选择对应的HttpMessageConverter来进行转换,封装成HttpoutputMessage返回给响应报文。
处理 JSON-底层实现(HttpMessageConverter<T>) 1. 使用 HttpMessageConverter<T> 将请求信息转化并绑定到处理方法的入参中, 或将响应 结果转为对应类型的响应信息,Spring 提供了两种途径: √ 使用 @RequestBody / @ResponseBody 对目标方法进行标注 √ 使用 HttpEntity<T> / ResponseEntity<T> 作为目标方法的入参或返回值 2. 当 控 制 器 处 理 方 法 使 用 到 @RequestBody/@ResponseBody 或 HttpEntity<T>/ResponseEntity<T> 时, Spring 首先根据请求头或响应头的 Accept 属性选择 匹配 的 HttpMessageConverter, 进而 根据参 数类型 或泛型 类型的 过滤得 到匹配 的 HttpMessageConverter, 若找不到可用的 HttpMessageConverter 将报错 标签:HttpMessageConverter,请求,处理,报文,Accept,响应,了解 From: https://www.cnblogs.com/gyhdeblog/p/17435600.html