Springboot中的Controller解析
Controller
1、作用
Controller是SpringBoot的基本組件,也是MVC結構的組成部分,其作用是將用戶提交來的請求通過URL匹配,分發(fā)給不同的接收器(具體的Controller),該接收器會對其進行相應處理,然后返回處理結果。
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請求提交的內容類型(Content-Type);
- produces:返回內容的類型;
- headers:Header等。
通常只需要value,有時可能會用到method表示請求方法,默認是RequestMethod.GET,有時可能是RequestMethod.POST
當注解作用于類時,類中所有方法都會在這個基礎上再進行過濾。例如:
@Controller
@RequestMapping("/path1")
public class TestController {
@RequestMapping("/path2")
@ResponseBody
public String index() {
return "ok";
}
}這個函數(shù)就會匹配"/path1/path2"這個地址
到此這篇關于Springboot中的Controller解析的文章就介紹到這了,更多相關Springboot的Controller內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MyBatis批量插入(insert)數(shù)據(jù)操作
本文給大家分享MyBatis批量插入(insert)數(shù)據(jù)操作知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起學習吧2016-06-06
springboot訪問template下的html頁面的實現(xiàn)配置
這篇文章主要介紹了springboot訪問template下的html頁面的實現(xiàn)配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Spring?Cloud?Hystrix?服務降級限流策略詳解
這篇文章主要為大家介紹了Spring?Cloud?Hystrix?服務降級限流策略詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
通過spring注解開發(fā),簡單測試單例和多例區(qū)別
這篇文章主要介紹了通過spring注解開發(fā),簡單測試單例和多例區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot將所有依賴(包括本地jar包)打包到項目
這篇文章主要介紹了SpringBoot將所有依賴(包括本地jar包)打包到項目,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06

