Springboot中的Controller解析
Controller
1、作用
Controller是SpringBoot的基本組件,也是MVC結(jié)構(gòu)的組成部分,其作用是將用戶提交來的請求通過URL匹配,分發(fā)給不同的接收器(具體的Controller),該接收器會對其進(jìn)行相應(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類中的某個方法之前; 表示這個類/方法負(fù)責(zé)處理哪個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表示請求方法,默認(rèn)是RequestMethod.GET,有時可能是RequestMethod.POST
當(dāng)注解作用于類時,類中所有方法都會在這個基礎(chǔ)上再進(jìn)行過濾。例如:
@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)文章
RabbitMQ的Direct Exchange模式實現(xiàn)的消息發(fā)布案例(示例代碼)
本文介紹了RabbitMQ的DirectExchange模式下的消息發(fā)布和消費的實現(xiàn),詳細(xì)說明了如何在DirectExchange模式中進(jìn)行消息的發(fā)送和接收,以及消息處理的基本方法,感興趣的朋友跟隨小編一起看看吧2024-09-09
SpringBoot項目網(wǎng)頁加載出現(xiàn)Whitelabel?Error?Page的解決
這篇文章主要介紹了SpringBoot項目網(wǎng)頁加載出現(xiàn)Whitelabel?Error?Page的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
Java實現(xiàn)枚舉狀態(tài)轉(zhuǎn)換的方法詳解
在軟件開發(fā)中,我們經(jīng)常需要處理不同系統(tǒng)或模塊間的狀態(tài)轉(zhuǎn)換,今天,我將通過一個電商訂單與物流狀態(tài)的轉(zhuǎn)換案例,展示如何優(yōu)雅地實現(xiàn)枚舉間的互相轉(zhuǎn)換,需要的朋友可以參考下2025-04-04
Java關(guān)于遠(yuǎn)程調(diào)試程序教程(以Eclipse為例)
這篇文章主要介紹了Java關(guān)于遠(yuǎn)程調(diào)試程序教程(以Eclipse為例),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
Java環(huán)境搭建Selenium代碼自動化測試框架
selenium是用來做web自動化測試框架,它支持各種瀏覽器(Chrome等),各種平臺(Windows、Linux等),支持各種語言(Python、Java等),具有豐富的API,本文介紹了自動化測試的概念及其分類,重點介紹了Selenium自動化測試框架,包括其工作原理、環(huán)境搭建流程以及遇到問題的解決方法2026-01-01
springboot啟動時如何指定spring.profiles.active
這篇文章主要介紹了springboot啟動時如何指定spring.profiles.active問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
手把手教你在eclipse創(chuàng)建第一個java?web項目并運行
Eclipse是用來做開發(fā)的自由集成開發(fā)環(huán)境,這也是很多java程序員會使用的開發(fā)環(huán)境,所以可以使用eclipse創(chuàng)建javaweb項目,下面這篇文章主要給大家介紹了關(guān)于如何在eclipse創(chuàng)建第一個java?web項目并運行的相關(guān)資料,需要的朋友可以參考下2023-02-02
MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題
這篇文章主要介紹了MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
java DataInputStream和DataOutputStream詳解及實例代碼
這篇文章主要介紹了java DataInputStream和DataOutputStream詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01

