Springboot中的Controller解析
Controller
1、作用
Controller是SpringBoot的基本組件,也是MVC結(jié)構(gòu)的組成部分,其作用是將用戶提交來的請求通過URL匹配,分發(fā)給不同的接收器(具體的Controller),該接收器會對其進行相應(yīng)處理,然后返回處理結(jié)果。
2、基本樣式
一個經(jīng)典的Controller類似下邊這樣:
package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(value = "/api/user") public class IndexController { @RequestMapping(value = {"index", "/"}) public String index(Model model) { return "index"; } }
3、說明
@Controller | 寫于Controller類之前; 告知Spring容器這是一個Controller。 |
@RequestMapping | 寫于Controller類或Controller類中的某個方法之前; 表示這個類/方法負責處理哪個URL |
Model model | 處理URL的方法需要傳入Model參數(shù); 該參數(shù)的作用是向Model傳遞數(shù)據(jù); Model將來會傳遞給View顯示出來。 |
return "index" return "/registerResult" | 函數(shù)返回值,表示要訪問的文件名。 具體后綴取決于模板引擎,比如對于jsp就需要訪問"index.jsp"文件 |
4、@RequestMapping作用
告訴Spring該方法或類是用于映射到哪個URL的,通常情況下可以添加如下信息:
@RequestMapping( value = "/test", params = {"name","userId"}, method = {RequestMethod.GET}, consumes = {"text/plain", "application/*"}, produces = "text/plain", headers = "content-type=text/*" )
分別表示
- value:路徑,類似"/action/info"這種;
- params:參數(shù);
- method:請求方法——GET、POST、PUT……;
- consumes:request請求提交的內(nèi)容類型(Content-Type);
- produces:返回內(nèi)容的類型;
- headers:Header等。
通常只需要value,有時可能會用到method表示請求方法,默認是RequestMethod.GET,有時可能是RequestMethod.POST
當注解作用于類時,類中所有方法都會在這個基礎(chǔ)上再進行過濾。例如:
@Controller @RequestMapping("/path1") public class TestController { @RequestMapping("/path2") @ResponseBody public String index() { return "ok"; } }
這個函數(shù)就會匹配"/path1/path2"這個地址
到此這篇關(guān)于Springboot中的Controller解析的文章就介紹到這了,更多相關(guān)Springboot的Controller內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MyBatis批量插入(insert)數(shù)據(jù)操作
本文給大家分享MyBatis批量插入(insert)數(shù)據(jù)操作知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起學習吧2016-06-06Java并發(fā)編程示例(二):獲取和設(shè)置線程信息
這篇文章主要介紹了Java并發(fā)編程示例(二):獲取和設(shè)置線程信息,本文是系列文章的第二篇,本文著重講解Thread類的幾個重要屬性,需要的朋友可以參考下2014-12-12springboot訪問template下的html頁面的實現(xiàn)配置
這篇文章主要介紹了springboot訪問template下的html頁面的實現(xiàn)配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Spring?Cloud?Hystrix?服務(wù)降級限流策略詳解
這篇文章主要為大家介紹了Spring?Cloud?Hystrix?服務(wù)降級限流策略詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01通過spring注解開發(fā),簡單測試單例和多例區(qū)別
這篇文章主要介紹了通過spring注解開發(fā),簡單測試單例和多例區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08SpringBoot將所有依賴(包括本地jar包)打包到項目
這篇文章主要介紹了SpringBoot將所有依賴(包括本地jar包)打包到項目,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06