亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

@RequestParam 參數(shù)偶爾丟失的解決

 更新時間:2021年10月25日 11:40:35   作者:QMCoder  
這篇文章主要介紹了@RequestParam 參數(shù)偶爾丟失的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@RequestParam參數(shù)丟失

改動過一版代碼之后, 發(fā)現(xiàn)@RequestParam注解的參數(shù)經(jīng)常丟失.

首先確認前端確實把參數(shù)傳過來了,用curl直接請求接口, 發(fā)現(xiàn)有時候會出現(xiàn)參數(shù)丟失, 重啟后再用curl請求某個丟失參數(shù)的接口, 無論怎么重試都不會有問題.

沒辦法了, 只好去跟tomcat的源碼, 因為@RequestParam的參數(shù)會從request.getParameterMap()方法里取對應(yīng)的值, 然后打個斷點看tomcat怎么獲取的

在這里插入圖片描述

最終跟到這個類里, 實現(xiàn)方法

在這里插入圖片描述

最終走到coyoteRequest的getParameters方法, 實現(xiàn)很簡單

在這里插入圖片描述

然后getParameterNames();

在這里插入圖片描述

最終處理查詢參數(shù)

在這里插入圖片描述

最終就是從queryMB這個參數(shù)解析出來, 這個queryMB就是請求時傳過來的參數(shù),

那就看看當(dāng)getParameterMap為空的時候, queryMB是否為空, 來判定tomcat一定是接到了參數(shù)

在這里插入圖片描述

然后發(fā)現(xiàn)queryMB有值, 但是似乎好像上面的方法沒有把這個參數(shù)解析出來, 開始懷疑一定是某個接口改了什么東西, 因為Request是可以被循環(huán)利用的, 但是這個request被再次使用一定是請求結(jié)束了, 后來懷疑是使用了deferedResult, 但也被排除了, 因為deferedResult會使用servlet3.0以上的異步方式, request不會被提前循環(huán)使用

百思不得其解的時候同時看了這篇文章 豁然開朗,(后來發(fā)現(xiàn)有一個導(dǎo)入功能比較耗時, 被放在了一個純異步的方法里, 訪問的方法里有一個方法被切面切掉了, 并且里面獲取了request.getParameter) request可以傳遞到異步線程, 但要保證在請求返回之前訪問, 如deferedResult set值之前. (為了避免這種情況,還是盡量不要傳到異步線程里了).

@RequestParam的用法注意事項

作用

@RequestParam:將請求參數(shù)綁定到你控制器的方法參數(shù)上(是springmvc中接收普通參數(shù)的注解)

舉例來說:

在這里插入圖片描述

如果你的@RequestParam的Value屬性為 pId 那么在請求的鏈接就是

http://localhost:8080/api/findBByParkId?pId=1

@RequestParam屬性

  • value / name:請求參數(shù)中的名稱 (必寫參數(shù))
  • required:請求參數(shù)中是否必須提供此參數(shù),默認值是true,true為必須提供default
  • Value:默認值 測試成功

在這里插入圖片描述

注意

在這里插入圖片描述

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

相關(guān)文章

  • SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作

    SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作

    這篇文章主要介紹了SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 怎樣通過反射獲取非靜態(tài)內(nèi)部類實例

    怎樣通過反射獲取非靜態(tài)內(nèi)部類實例

    這篇文章主要介紹了怎樣通過反射獲取非靜態(tài)內(nèi)部類實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題

    這篇文章主要介紹了解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • maven加載依賴報錯的原因分析及解決方法

    maven加載依賴報錯的原因分析及解決方法

    通常我們在項目中引入第三方依賴包時,為了避免其版本迭代問題,經(jīng)常會使用本地的包,這篇文章主要給大家介紹了關(guān)于maven加載依賴報錯的原因分析及解決方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java數(shù)組的聲明與創(chuàng)建示例詳解

    Java數(shù)組的聲明與創(chuàng)建示例詳解

    這篇文章主要介紹了Java數(shù)組的聲明與創(chuàng)建示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Spring的攔截器HandlerInterceptor詳解

    Spring的攔截器HandlerInterceptor詳解

    這篇文章主要介紹了Spring的攔截器HandlerInterceptor詳解,攔截器是相對于Spring中來說的,它和過濾器不一樣,過濾器的范圍更廣一些是相對于Tomcat容器來說的,攔截器可以對用戶進行攔截過濾處理,需要的朋友可以參考下
    2024-01-01
  • Java身份證號碼校驗工具類詳解

    Java身份證號碼校驗工具類詳解

    這篇文章主要為大家詳細介紹了Java身份證號碼校驗工具類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Java時間類庫Timer的使用方法與實例詳解

    Java時間類庫Timer的使用方法與實例詳解

    這篇文章主要介紹了Jave時間類庫Timer的使用方法與實例詳解,需要的朋友可以參考下
    2020-02-02
  • SpringMVC?HttpMessageConverter報文信息轉(zhuǎn)換器

    SpringMVC?HttpMessageConverter報文信息轉(zhuǎn)換器

    這篇文章主要為大家介紹了SpringMVC?HttpMessageConverter報文信息轉(zhuǎn)換器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Spring Boot異常處理靜止trace

    Spring Boot異常處理靜止trace

    這篇文章主要介紹了Spring Boot異常處理靜止trace,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12

最新評論