SpringMVC知識盤點及總結5@RequestMapping注解的params屬性


@RequestMapping注解的params屬性

知識點四、

@RequestMapping注解的params屬性:
@RequestMapping注解的params屬性通過請求的請求參數匹配請求映射
@RequestMapping注解的params屬性是一個字符串類型的數組,可以通過四種表達式設置請求參數和請求映射的匹配關系

"param”:要求請求映射所匹配的請求必須攜帶param請求參數,例如username
"!param”:要求請求映射所匹配的請求必須不能攜帶param請求參數,例如!username
"param=value":要求請求映射所匹配的請求必須攜帶param請求參數且param=value,例如username=admin
"param!=value":要求請求映射所匹配的請求必須攜帶param請求參數但是param!=value,例如password!=123456

練習測試一下:
1. //測試必須攜帶username請求參數
      @RequestMapping(value = "/testParamsAndHeaders",
                params = {"username")
          public  String testParamsAndHeaders(){
              return "success";
          }

如果不攜帶username瀏覽器會報400錯誤:Parameter conditions "username" not met for actual request parameters:
   
        這句話的意思是:實際的請求參數不滿足參數請求條件"username",即沒有該參數

攜帶username之后,訪問即成功
 <a th:href="@{/hello/testParamsAndHeaders?username='張三'}" >測試RequestMapping注解的Params屬性</a>
 
        

此處需要注意,在idea2021版本以下,在Thymeleaf中問號傳參的問號會標紅(2021版本不標紅),
標准寫法:使用小括號來傳參
1  <a th:href="@{/hello/testParamsAndHeaders(username='張三')}" >測試RequestMapping注解的Params屬性</a>


2.同理測試不能攜帶username參數:
1          @RequestMapping(value = "/testParamsAndHeaders",
2                         params = {"!username")
3                 public  String testParamsAndHeaders(){
4                     return "success";
5                 }
 
        
<a th:href="@{/hello/testParamsAndHeaders?username='張三'}" >測試RequestMapping注解的Params屬性</a>

如果攜帶username參數瀏覽器會報與上面一樣的400錯誤:
Parameter conditions "username" not met for actual request parameters:

3.接下來一起測試一下后兩種吧!
1       @RequestMapping(value = "/testParamsAndHeaders",
2                     params = {"username=admin","password!=123456"})
3             public  String testParamsAndHeaders(){
4                 return "success";
5             }
 
        

這個用來測試同時攜帶username和password請求參數,並且username的值必須為admin
password的值不能是123456,必須同時滿足條件才能訪問成功。如果不成功,同樣會報400錯誤

      

 

        

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM