@Controller和@RestController的区别?
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
在controller上加@RestController等同于在类上加@ResponseBody和@Controller
这个controller中的所有方法都相当于加了@ResponseBody
1、如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到success.jsp页面的,则其显示success.
2、如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3、如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
本文解释了Spring MVC中@Controller与@RestController的区别。@RestController等同于@ResponseBody加@Controller,导致控制器中的所有方法都会直接返回数据而非视图。若需返回视图则需使用@Controller。
793

被折叠的 条评论
为什么被折叠?



