@Controller和@RestController的區別?

瀟兮水寒發表於2018-02-21

 

 

@Controller和@RestController的區別?

官方文件:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController註解相當於@ResponseBody + @Controller合在一起的作用。

 

 

1)如果只是使用@RestController註解Controller,則Controller中的方法無法返回jsp頁面,配置的檢視解析器InternalResourceViewResolver不起作用,返回的內容就是Return 裡的內容。

例如:本來應該到success.jsp頁面的,則其顯示success.

 

2)如果需要返回到指定頁面,則需要用 @Controller配合檢視解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。

相關文章