最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談@RequestMapping注解的注意點

 更新時間:2022年02月22日 08:33:58   作者:zhangzengxiu  
這篇文章主要介紹了淺談@RequestMapping注解的注意點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@RequestMapping注解注意點

類上加沒加@RequestMappin注解區(qū)別

1.如果類上加了 @RequestMappin注解,那么就會去該注解對應(yīng)的路徑下去找頁面,如果沒有對應(yīng)的頁面就會報錯。

舉例說明:

@RequestMapping("/user")
public class UserController {
?? ?@RequestMapping("/requestParam51")
? ? public String requestParam51(String[] name) {
? ? ? ?return "index.jsp";
? ? }
}

對應(yīng)的跳轉(zhuǎn)頁面會去user目錄下去找,找不到就會報錯。

2.如果類上沒有加@RequestMapping注解,就會直接去根路徑下去找頁面

3.如果為跳轉(zhuǎn)的頁面加了"/",還是會去根路徑下去找對應(yīng)的頁面。

舉例:

@RequestMapping("/user")
public class UserController {
?? ?@RequestMapping("/requestParam51")
? ? public String requestParam51(String[] name) {
? ? ? ?return "/index.jsp";
? ? }
}

@RequestMapping一個坑

今天發(fā)現(xiàn)了RequestMapping注解的一個坑:

當RequestMapping用于Class上時,不能用1.0,v1.0這樣帶小數(shù)點的value值做開頭

@Controller
@RequestMapping(value = "/v1.0")
public class TestController {
? ? @RequestMapping(value = "/a", method = RequestMethod.GET, produces = "application/json")
? ? public @ResponseBody
? ? Object getA() {
? ? ? ? return ?"{\"test\" : \"a\"}";
? ? }
? ? @RequestMapping(value = "/b", method = RequestMethod.GET, produces = "application/json")
? ? public @ResponseBody
? ? Object getB() {
? ? ? ? return ?"{\"test\" : \"b\"}";
? ? }
}

如上代碼運行后,訪問http://localhost:port/v1.0/a 或者http://localhost:port/v1.0/b 時都會報錯:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'testController' bean method 
public java.lang.Object com.my.test.controller.TestController.getB()
to {[/v1.0],methods=[GET],params=[],headers=[],consumes=[],produces=[application/json],custom=[]}: There is already 'testController' bean method

單看異常信息,還以為是有重名的路徑,結(jié)果搜遍了工程也沒找到重名的類,后來"v1.0"改成"v1",就正常運行了。

順帶測試了下,發(fā)現(xiàn)改成1.0也是同樣的錯誤。

之后再把一個方法上RequestMapping的value去掉,采用默認寫法:

? ? @RequestMapping("/b")
? ? public @ResponseBody
? ? Object getB() {
? ? ? ? return ?"{\"test\" : \"b\"}";
? ? }

再運行起來,訪問http://localhost:port/v1.0/a或者http://localhost:port/v1.0/b 就會變成404錯誤。

HTTP Status 404 - /v1.0/a
type Status report
message /v1.0/a
description The requested resource is not available.

沒深究根本原因,估計是Spring的小bug,以后避免帶小數(shù)點的路徑頭。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實現(xiàn)雙層圣誕樹加修飾代碼示例

    java實現(xiàn)雙層圣誕樹加修飾代碼示例

    大家好,本篇文章主要講的是java實現(xiàn)雙層圣誕樹加修飾代碼示例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 深入C++ typedef的用法總結(jié)(必看)

    深入C++ typedef的用法總結(jié)(必看)

    本篇文章是對C++中typedef的用法進行了詳細的總結(jié)分析,需要的朋友參考下
    2013-05-05
  • 如何在IDE部署springboot項目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機上的docker

    如何在IDE部署springboot項目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機上的docke

    這篇文章主要介紹了如何在IDE部署springboot項目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機上的docker,本文給大家分享我的安裝歷程,需要的朋友可以參考下
    2023-01-01
  • 解決IDEA中maven導(dǎo)入jar包一直報錯問題

    解決IDEA中maven導(dǎo)入jar包一直報錯問題

    這篇文章主要介紹了解決IDEA中maven導(dǎo)入jar包一直報錯問題,本文通過實例圖文的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Spring Boot 實現(xiàn)圖片上傳并回顯功能

    Spring Boot 實現(xiàn)圖片上傳并回顯功能

    本篇文章給大家分享Spring Boot 實現(xiàn)圖片上傳并回顯功能,文中通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • JAVA實現(xiàn)Base64編碼的三種方式

    JAVA實現(xiàn)Base64編碼的三種方式

    本文主要介紹了JAVA實現(xiàn)Base64編碼的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • gradle配置國內(nèi)鏡像的實現(xiàn)

    gradle配置國內(nèi)鏡像的實現(xiàn)

    這篇文章主要介紹了gradle配置國內(nèi)鏡像的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • SpringBoot Event實現(xiàn)異步消費機制的示例代碼

    SpringBoot Event實現(xiàn)異步消費機制的示例代碼

    這篇文章主要介紹了SpringBoot Event實現(xiàn)異步消費機制,ApplicationEvent以及Listener是Spring為我們提供的一個事件監(jiān)聽、訂閱的實現(xiàn),內(nèi)部實現(xiàn)原理是觀察者設(shè)計模式,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2024-04-04
  • Java方法及數(shù)組相關(guān)原理解析

    Java方法及數(shù)組相關(guān)原理解析

    這篇文章主要介紹了Java方法及數(shù)組相關(guān)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Java利用OSHI實現(xiàn)獲取機器的硬件信息

    Java利用OSHI實現(xiàn)獲取機器的硬件信息

    OSHI(Operating System and Hardware Information)是一個開源的Java庫,用于獲取操作系統(tǒng)和硬件的詳細信息,下面我們就來看看他的具體使用吧
    2024-11-11

最新評論

建始县| 宾川县| 丰都县| 博爱县| 盈江县| 红原县| 辰溪县| 肇庆市| 潮州市| 桃园市| 三门县| 门源| 雷山县| 新余市| 都江堰市| 元阳县| 揭东县| 合肥市| 亚东县| 旺苍县| 榆树市| 正安县| 江油市| 阜南县| 木兰县| 和平县| 北京市| 绥江县| 三门县| 壤塘县| 体育| 禄劝| 张北县| 新昌县| 公安县| 海南省| 平安县| 永吉县| 上虞市| 内黄县| 桑日县|