Požiadavky: Zaznamenať obsah požiadavky rozhrania do logu, ktorý sa vzťahuje na obsah odoslaný cez POST, PUT, Delete a pod., a obsah môže byť forma alebo reťazec JSON.
Každý, kto má nejaké skúsenosti, vie, že ak si prečítame tok HttpServletRequest alebo HttpServletResponse vo filtri, nie je možné ho znova prečítať, čo spôsobí, že požiadavka bude výnimočná. Preto potrebujeme použiť ContentCachingRequestWrapper a ContentCachingRequestWrapper od Springu na opakovanie čítaní dátového toku. Pozrime sa najprv na vizualizácie, nasledovne:
Na určenie, či požiadavka obsahuje informácie o obsahu požiadavky, kód je nasledovný (Vylúčené "viacčasťové/formulárne-dátové" súbory):
Získajte požadované obsahové informácie:
Filter kód:
Nota:Po zavolaní metódy chain.doFilter môžete získať požadovaný obsahPrincíp spočíva v tom, že keď kontrolér získa InputStream, ContentCachingRequestWrapper uloží obsah do vyrovnávacej pamäte do premennej.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
(Koniec)
|