欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

@RequestParam參數(shù)丟失

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

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

沒辦法了, 只好去跟tomcat的源碼, 因?yàn)锧RequestParam的參數(shù)會(huì)從request.getParameterMap()方法里取對應(yīng)的值, 然后打個(gè)斷點(diǎn)看tomcat怎么獲取的

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

然后getParameterNames();

在這里插入圖片描述

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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

@RequestParam的用法注意事項(xiàng)

作用

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

舉例來說:

在這里插入圖片描述

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

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

@RequestParam屬性

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

在這里插入圖片描述

注意

在這里插入圖片描述

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

相關(guān)文章

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

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

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

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

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

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

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

    maven加載依賴報(bào)錯(cuò)的原因分析及解決方法

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

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

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

    Spring的攔截器HandlerInterceptor詳解

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

    Java身份證號碼校驗(yàn)工具類詳解

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

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

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

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

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

    Spring Boot異常處理靜止trace

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

最新評論