@Controller和@RestController的區別和應用場景

@Controller和@RestController的區別和應用場景

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

從@RestController這個註解點開之後的源碼也能看出來。
這裏寫圖片描述

應用場景

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

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

2)如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。

3)如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。

在開發過程中一般與前端交互用的最多的都是json字符串,推薦使用@RestController註解。

發佈了65 篇原創文章 · 獲贊 67 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章