springBoot中@Controller和@RestController的区别的小坑

     这两个的区别其实是个很简单的问题,但是对于初学者可能遇到了会掉坑里。

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用。

1、如果注解Controller使用@RestController,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

代码如图:

springBoot中@Controller和@RestController的区别的小坑_第1张图片

结果如图:

springBoot中@Controller和@RestController的区别的小坑_第2张图片

 

2、 如果需要返回到指定页面(jsp/html),则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。

代码如图:

springBoot中@Controller和@RestController的区别的小坑_第3张图片

结果如图:

springBoot中@Controller和@RestController的区别的小坑_第4张图片
    如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

代码如图:

springBoot中@Controller和@RestController的区别的小坑_第5张图片

结果如图:

springBoot中@Controller和@RestController的区别的小坑_第6张图片

有不周全之处,欢迎大神指点。

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(springBoot)