您好,登錄后才能下訂單哦!
本篇內容主要講解“Spring獲取請求入參出參的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring獲取請求入參出參的方法是什么”吧!
過濾器
在非侵入型的情況下獲取請求信息,想必你肯定會想到過濾器。過濾器有可以得到兩個信息,HttpServletRequest與HttpServletResponse,你肯定會覺得我用這個兩個對象就可以獲取想要的信息。那我們就來試試獲取對應的信息吧
自定義HttpServletRequest
1.編寫一個類輸入流繼承ServletInputStream的類:
2.編寫一個自定義的Request繼承HttpServletRequestWrapper:
3.大功告成
自定義 HttpServletResponse
1.編寫一個類輸出流繼承ServletOutputStream的類:
2.編寫一個自定義的Response繼承HttpServletResponseWrapper:
3.大功告
AOP方式
斷點跟蹤下源碼
1.首先寫一個測試類
2.斷點一下
3.從這里可以看到入參是從getMethodArgumentValues獲取的,那么我們看下這個源碼吧
4.方法參數從MethodParameter對象獲取,我們來看看這個類
5.這里有參數名,我來重新斷點一下,看下這個參數名是不是想要的
6.贊,這個就是想要的參數名,然后this.resolvers.resolveArgument是獲取參數值的,那我們來看看resolvers在哪里進行賦值的
這里
功夫不負有心人
看下哪里調用這個方法
進去看看
出參入參的對象處理器設置都在這。來看下這個類的來歷
大概的解釋就是
支持自定義參數和返回值類型可以通過添加
* {@link #setCustomReturnValueHandlers}和{@link #setCustomReturnValueHandlers},
*或者,重新配置所有參數和返回值類型,
*使用{@link #setArgumentResolvers}和{@link #setReturnValueHandlers}
編寫自定義MethodArgumentResolver
加入出參入參處理器
打印效果
到此,相信大家對“Spring獲取請求入參出參的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。