@RestController和@Controller的區別

今天在學習使用Spring Boot的Thymeleaf模板時,遇到了一個問題:本想要跳轉到指定的頁面,結果顯示的確實return的返回值:
最初的代碼
頁面顯示結果
看到這個之後,納悶了很久,也許是本人比較“菜”吧,沒有想到原因,於是上網查了一下,說是不能使用@RestController:
這裏寫圖片描述
於是乎,就有了這篇博客^_^
@Controller和@RestController的區別主要有以下幾點:
1. @RestController相當於@Controller和@ResponseBody合在一起的作用;
2. 如果使用@RestController註解Controller層的話,則返回的是return裏面的內容,無法返回到指定的頁面,配置的視圖解析器InternalResourceViewResolver也就自然沒有作用了;
3. 如果要返回到指定的頁面,則需要用@Controller配合視圖解析器InternalResourceViewResolver;
4. 如果需要返回JSON、XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。
這裏寫圖片描述
修改過後的代碼
最終的頁面效果圖
@Controller和@RestController的主要區別就這麼多了,有不對的地方,還請大神多多指教!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章