spring mvc RestController注解和Controller注解的区别
今天在项目中遇到了一个问题,我看到项目中Controller的方法返回了一个POJO对象,但是没有使用ResponseBody注解标示,后来我照着写了一个controller,发现报404错误,很奇怪,经过比对发现,我的Controller类上面标示的Controller注解,而没有问题的Controller上面标识的是RestController注解。
点开RestController注解的源码,发现这个注解上面有Controller注解和ResposneBody注解,说明这个注解集成了这两个注解的语义。
在使用RestController的时候,要使用合适的HandlerMapping和HandlerAdapter,默认情况下使用的RequestMappingHandlerMapping和RequestMappingHandlerAdapter;DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter这一组不支持RestController,已标识过时了。
网友评论