美文网首页
5、SpringMVC中Controller返回json转换的源

5、SpringMVC中Controller返回json转换的源

作者: 那谁319 | 来源:发表于2019-06-02 14:28 被阅读0次
  • 在之前的文章中提到AnnotationDrivenBeanDefinitionParser.parse(参数)执行逻辑,其中有一项是注册RequestMappingHandlerAdapter的bean定义到DefaultListableBeanFactory对象中。

RequestMappingHandlerAdapter注册bean定义源码片段

RequestMappingHandlerAdapter.png
  • 可以看到在装载bean定义时指定了消息转换器。

AnnotationDrivenBeanDefinitionParser.getMessageConverters执行逻辑

AnnotationDrivenBeanDefinitionParser.getMessageConverters.png
  • 获取配置文件中配置的消息转换器,
  • 如果没有配置的化,json的默认转换器为jackson

处理请求过程(响应部分处理)

HandlerMethodReturnValueHandlerComposite.handleReturnValue执行逻辑

HandlerMethodReturnValueHandlerComposite.handleReturnValue.png
  • 选择合适的响应处理解析器(RequestResponseBodyMethodProcessor)
  • 执行handleReturnValue方法

RequestResponseBodyMethodProcessor.selectHandler执行逻辑

RequestResponseBodyMethodProcessor.selectHandler.png

RequestResponseBodyMethodProcessor.handleReturnValue执行逻辑

RequestResponseBodyMethodProcessor.handleReturnValue.png
  • 从方法命名可以看到使用转换器

相关文章

网友评论

      本文标题:5、SpringMVC中Controller返回json转换的源

      本文链接:https://www.haomeiwen.com/subject/zkentctx.html