Spring中@Controller和@RestController的區(qū)別詳解
@Controller 和 @RestController
最近遇到注解 @Controller 和 @RestController 在使用上的小問題,記錄一下二者的區(qū)別。
相同點
都可以用來表示 Spring 的某個類,是否可以接收 HTTP 請求
不同點
@RestController
- 由源碼可知,@RestController 是 @Controller 和 @ResponseBody 的結(jié)合體,單獨使用 @RestController 的效果與 @Controller 和 @ResponseBody 二者同時使用的效果相同
- 使用 @RestController 注解標記的類,它里面的所有方法只能返回 String、Object、Json 等實體對象,不能跳轉(zhuǎn)到 jsp 或者 html 等模版頁面
@Controller
- 標識一個 Spring 類是 Spring MVC controller處理器
- 用注解 @Controller 標記的類,它里面的方法的返回值,會直接被視圖解析器解析為頁面地址,并跳轉(zhuǎn)到相應的 jsp,html 頁面
- 在被注解 @Controller 標記的類中,如果某個方法想返回實體對象,那么需要在該方法上,加上 @ResponseBody 注解,如下所示
@Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @ResponseBody @RequestMapping("/queryAllUser") public List<User> queryAllUser() { return userService.queryUserList(); } }
到此這篇關(guān)于Spring中@Controller和@RestController的區(qū)別詳解的文章就介紹到這了,更多相關(guān)@Controller和@RestController的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis中的mapper.xml使用循環(huán)語句
這篇文章主要介紹了mybatis中的mapper.xml使用循環(huán)語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02Spring?Boot?整合?Fisco?Bcos部署、調(diào)用區(qū)塊鏈合約的案例
本篇文章介紹?Spring?Boot?整合?Fisco?Bcos?的相關(guān)技術(shù),最最重要的技術(shù)點,部署、調(diào)用區(qū)塊鏈合約的工程案例,本文通過流程分析給大家介紹的非常詳細,需要的朋友參考下吧2022-01-01如何使用Spring Boot ApplicationRunner解析命令行中的參數(shù)
這篇文章主要介紹了使用Spring Boot ApplicationRunner解析命令行中的參數(shù),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12