Springmvc RequestMapping請求實現(xiàn)方法解析
請求url
標(biāo)記請求URl很簡單,只需要在相應(yīng)的方法上添加注解即可:
@Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { return new ModelAndView("hello"); } }
這里 @RequestMapping(“/hello”) 表示當(dāng)請求地址為 /hello 的時候,這個方法會被觸發(fā)。其中,地址可以是多個,就是可以多個地址映射到同一個方法。
@Controller public class HelloController { @RequestMapping({"/hello","/hello2"}) public ModelAndView hello() { return new ModelAndView("hello"); } }
這個配置,表示 /hello 和 /hello2 都可以訪問到該方法
請求窄化
同一個項目中,會存在多個接口,例如訂單相關(guān)的接口都是 /order/xxx 格式的,用戶相關(guān)的接口都是 /user/xxx 格式的。為了方便處理,這里的前綴(就是 /order、/user)可以統(tǒng)一在 Controller 上面處理。
@Controller @RequestMapping("/user") public class HelloController { @RequestMapping({"/hello","/hello2"}) public ModelAndView hello() { return new ModelAndView("hello"); } }
當(dāng)類上加了 @RequestMapping 注解之后,此時,要想訪問到 hello ,地址就應(yīng)該是 /user/hello 或者 /user/hello2
請求方法限定
默認(rèn)情況下,使用 @RequestMapping 注解定義好的方法,可以被 GET 請求訪問到,也可以被 POST 請求訪問到,但是 DELETE 請求以及 PUT 請求不可以訪問到。
當(dāng)然,我們也可以指定具體的訪問方法:
@Controller @RequestMapping("/user") public class HelloController { @RequestMapping(value = "/hello",method = RequestMethod.GET) public ModelAndView hello() { return new ModelAndView("hello"); } }
通過 @RequestMapping 注解,指定了該接口只能被 GET 請求訪問到,此時,該接口就不可以被 POST 以及請求請求訪問到了。強行訪問會報如下錯誤:
當(dāng)然,限定的方法也可以有多個:
@Controller @RequestMapping("/user") public class HelloController { @RequestMapping(value = "/hello",method = {RequestMethod.GET,RequestMethod.POST,RequestMethod.PUT,RequestMethod.DELETE}) public ModelAndView hello() { return new ModelAndView("hello"); } }
此時,這個接口就可以被 GET、POST、PUT、以及 DELETE 訪問到了。但是,由于 JSP 支支持 GET、POST 以及 HEAD ,所以這個測試,不能使用 JSP 做頁面模板??梢灾v視圖換成其他的,或者返回 JSON,這里就不影響了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot使用@KafkaListener監(jiān)聽多個kafka配置實現(xiàn)
當(dāng)服務(wù)中需要監(jiān)聽多個kafka時,?需要配置多個kafka,本文主要介紹了springboot使用@KafkaListener監(jiān)聽多個kafka配置實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-04-04Java數(shù)據(jù)結(jié)構(gòu)之簡單的連接點(link)實現(xiàn)方法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之簡單的連接點(link)實現(xiàn)方法,涉及java指針指向節(jié)點的相關(guān)使用技巧,需要的朋友可以參考下2017-10-10SpringBoot集成nacos動態(tài)刷新數(shù)據(jù)源的實現(xiàn)示例
這篇文章主要介紹了SpringBoot集成nacos動態(tài)刷新數(shù)據(jù)源的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12SpringBoot集成POI導(dǎo)出Execl表格之統(tǒng)一工具類
這篇文章主要為大家詳細(xì)介紹了SpringBoot集成POI導(dǎo)出Execl表格之統(tǒng)一工具類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09java中double強制轉(zhuǎn)換int引發(fā)的OOM問題記錄
這篇文章主要介紹了java中double強制轉(zhuǎn)換int引發(fā)的OOM問題記錄,本文給大家分享問題排查過程,感興趣的朋友跟隨小編一起看看吧2024-10-10java Callable接口和Future接口創(chuàng)建線程示例詳解
這篇文章主要為大家介紹了java Callable接口和Future接口創(chuàng)建線程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11