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

淺談@RequestMapping注解的注意點

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

@RequestMapping注解注意點

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

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

舉例說明:

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

對應的跳轉頁面會去user目錄下去找,找不到就會報錯。

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

3.如果為跳轉的頁面加了"/",還是會去根路徑下去找對應的頁面。

舉例:

@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

單看異常信息,還以為是有重名的路徑,結果搜遍了工程也沒找到重名的類,后來"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ù)點的路徑頭。

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

相關文章

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

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

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

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

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

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

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

    解決IDEA中maven導入jar包一直報錯問題

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

博爱县| 阿鲁科尔沁旗| 天水市| 剑河县| 钟山县| 衡水市| 宜宾县| 迁西县| 虎林市| 浮梁县| 安龙县| 忻州市| 杭州市| 容城县| 吴桥县| 积石山| 辽中县| 密云县| 木里| 浙江省| 文成县| 福建省| 内乡县| 乌拉特前旗| 孝昌县| 芮城县| 莫力| 榆林市| 富平县| 日土县| 溆浦县| 梨树县| 海原县| 增城市| 沈阳市| 普安县| 昆山市| 万宁市| 白朗县| 呼和浩特市| 凤冈县|