@月黑风高食肉虎 噗噗虎的技术博客

Spring MVC框架总览

Spring MVC框架的大致结构如下: spring-mvc-high-level-request-flow (图片来自Spring Framework Reference Documentation 4.2.0.RELEASE)

使用Spring MVC实现Restful服务,简单来说就是去掉View层,通过为Controller注释上@RestController或者@ResponseBody来使用HttpMessageConverter来序列化JSON并返回至前台。

另外,HttpMessageConverter的转换操作是在View层之前进行的,所以如果有配置Interceptor,是无法在postHandler中拦截并修改有@RestController或者@ResponseBody注释的Controller的返回值的,因为此时response已经close

注意4.2.0中使用的是MappingJackson2HttpMessageConverter,而之前版本是MappingJacksonHttpMessageConverter。如版本升级时遇报错,注意检查pom中jackson相关包版本以及spring-mvc.xml中相应的MappingJackson2HttpMessageConverter是否漏掉了2。