springboot注解中@controller和@restcontroller的区别和联系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/88369220

@controller 和@Restcontroller
相同点:
1.是用来表示spring某个类的是否可以接收HTTP请求
不同点:
1.@RestController注解相当于@ResponseBody + @Controller合在一起的作用
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

例如:本来应该到index.jsp页面的,则其显示index.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。

3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

2.在@controller注解中,返回的是字符串,(如果想返回string或者json,在方法名前加上ResponseBody)或者是字符串匹配的模板名称,与html页面配合使用的

1、@RestController and @RequestMapping是springMVC的注解,不是springboot特有的    
2、@RestController = @Controller+@ResponseBody    
3、@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/88369220
今日推荐