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

Spring的RequestBodyAdvice攔截淺析

 更新時(shí)間:2023年02月02日 11:14:32   作者:朝夕不待人  
本文主要介紹了Spring的RequestBodyAdvice攔截淺析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景

因?yàn)轫?xiàng)目接口需要進(jìn)行解密,需要對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一處理,就使用了ReuqestBodyAdvice進(jìn)行數(shù)據(jù)解密處理,但是偶然的發(fā)現(xiàn)supports方法會(huì)出現(xiàn)執(zhí)行兩次的情況,覺得有點(diǎn)奇異就進(jìn)行了一次斷點(diǎn)調(diào)試,然后就發(fā)現(xiàn)了執(zhí)行兩次的原因;

過程

1.默認(rèn)supports方法返回false,表示不做任何處理:

2.默認(rèn)supports方法返回true,表示對(duì)數(shù)據(jù)進(jìn)行處理:

如圖所示無論supports方法返回true還是false,只要這個(gè)ReuqestAdvice存在并且在spring中生效,supports方法都會(huì)執(zhí)行兩次;

了解了前置情況接下來就是用斷點(diǎn)進(jìn)行接口調(diào)試了:
第一次跳過supports方法后的跳轉(zhuǎn):

第二次執(zhí)行完supports方法之后的跳轉(zhuǎn):

如圖所示,如果有經(jīng)常對(duì)看源碼或者眼尖的朋友應(yīng)該就會(huì)方法兩次執(zhí)行完supports方法之后跳轉(zhuǎn)的方法名是有區(qū)別的:
第一次執(zhí)行后跳轉(zhuǎn): beforeBodyRead
第二次執(zhí)行后跳轉(zhuǎn): afterBodyRead

結(jié)論

如上述的調(diào)測(cè)結(jié)果所示,實(shí)現(xiàn)RequestBodyAdvice接口之后的攔截在成功執(zhí)行的時(shí)候會(huì)調(diào)用兩次supports方法.
而執(zhí)行兩次的原因是因?yàn)樾枰謩e對(duì)beforeBodyRead和afterBodyRead進(jìn)行判斷:
當(dāng)?shù)谝淮蝧upports方法返回結(jié)果是true的時(shí)候表示會(huì)執(zhí)行beforeBodyRead方法
當(dāng)?shù)诙蝧upports方法返回true的時(shí)候表示會(huì)執(zhí)行afterBodyRead方法.
反之亦然
PS: 一個(gè)比較容易被人忽視但是找不到解決方法的小細(xì)節(jié):
若是Controller類上的方法參數(shù)沒有加上@RequestBody標(biāo)簽則該RequestBodyAdvice是不會(huì)被執(zhí)行的.
如果上述內(nèi)容存在問題,麻煩各位留言指出會(huì)第一時(shí)間修改.

到此這篇關(guān)于Spring的RequestBodyAdvice攔截淺析的文章就介紹到這了,更多相關(guān)Spring RequestBodyAdvice攔截內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中Properties的配置方式

    Spring中Properties的配置方式

    這篇文章主要介紹了Spring中Properties的配置方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • SpringBoot?Bean實(shí)例化流程解析

    SpringBoot?Bean實(shí)例化流程解析

    在SpringBoot啟動(dòng)過程中會(huì)執(zhí)行refreshContext()方法,而在其執(zhí)行過程中,又會(huì)調(diào)用finishBeanFactoryInitialization()方法,該方法負(fù)責(zé)了Bean的實(shí)例化,那么本文將從源碼跟讀的角度來解析一下具體流程
    2023-08-08
  • Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu)

    Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu)

    本文主要介紹了Java實(shí)現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • java如何判斷Date是上午還是下午

    java如何判斷Date是上午還是下午

    文章介紹了三種在Java中判斷Date對(duì)象是上午還是下午的方法:使用Calendar類、使用Java 8的java.time包以及使用SimpleDateFormat進(jìn)行格式化輸出,每種方法都有代碼示例和解釋,幫助開發(fā)者根據(jù)具體需求選擇合適的方法
    2025-03-03
  • 解決MyBatis @param注解參數(shù)類型錯(cuò)誤異常的問題

    解決MyBatis @param注解參數(shù)類型錯(cuò)誤異常的問題

    這篇文章主要介紹了解決MyBatis @param注解參數(shù)類型錯(cuò)誤異常的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn)

    關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn)

    這篇文章主要介紹了關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn),每個(gè)方法中都要單獨(dú)寫用戶登錄驗(yàn)證的方法,即使封裝成公共方法,也一樣要傳參調(diào)用和在方法中進(jìn)行判斷,需要的朋友可以參考下
    2023-05-05
  • eclipse怎么引入spring boot項(xiàng)目插件的方法

    eclipse怎么引入spring boot項(xiàng)目插件的方法

    這篇文章主要介紹了eclipse怎么引入spring boot項(xiàng)目插件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • SpringBoot整合Mybatis與MybatisPlus方法詳細(xì)講解

    SpringBoot整合Mybatis與MybatisPlus方法詳細(xì)講解

    這篇文章主要介紹了SpringBoot整合Mybatis與MybatisPlus方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • rabbitmq延遲隊(duì)列的使用方式

    rabbitmq延遲隊(duì)列的使用方式

    這篇文章主要介紹了rabbitmq延遲隊(duì)列的使用方式,使用rabbitmq的延時(shí)隊(duì)列插件,實(shí)現(xiàn)同一個(gè)隊(duì)列中有多個(gè)不同超時(shí)時(shí)間的消息,并按時(shí)間超時(shí)順序出隊(duì),本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-04-04
  • SpringBoot實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能詳解

    SpringBoot實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能詳解

    在處理大文件傳輸或網(wǎng)絡(luò)不穩(wěn)定的情況下,文件斷點(diǎn)續(xù)傳功能顯得尤為重要,本文將詳細(xì)介紹如何使用Spring Boot實(shí)現(xiàn)文件的斷點(diǎn)續(xù)傳功能,需要的可以了解下
    2025-04-04

最新評(píng)論

辽宁省| 册亨县| 东海县| 大宁县| 平塘县| 昌图县| 宁强县| 公安县| 隆安县| 屏东县| 惠安县| 若羌县| 勃利县| 海宁市| 千阳县| 塔河县| 齐河县| 志丹县| 安龙县| 云阳县| 淮阳县| 临澧县| 曲靖市| 仁布县| 昭苏县| 四会市| 綦江县| 宁远县| 肇州县| 久治县| 富宁县| 南昌县| 嘉荫县| 南漳县| 教育| 黄浦区| 新兴县| 慈利县| 和林格尔县| 蓝田县| 诸城市|