Požadavky: Zaznamenejte obsah požadavku rozhraní do logu, což odkazuje na obsah zaslaný POST, PUT, Delete atd., a obsah může být formulář nebo json řetězec.
Každý, kdo má nějaké zkušenosti, ví, že pokud si přečteme tok HttpServletRequest nebo HttpServletResponse ve filtru, není možné ho znovu přečíst, což způsobí, že požadavek bude výjimečný. Proto musíme použít ContentCachingRequestWrapper a ContentCachingRequestWrapper poskytované Springem k opakování čtení datového toku. Podívejme se nejprve na vizualizace, a to následovně:
Pro určení, zda požadavek obsahuje informace o obsahu požadavku, je kód následující (Vyloučeny soubory "vícedílných/formulářových dat"):
Získejte požadované obsahové informace:
Filtrační kód:
Poznámka:Po zavolání metody chain.doFilter můžete získat požadovaný obsahPrincip spočívá v tom, že když řadič získá InputStream, ContentCachingRequestWrapper uloží obsah do jedné proměnné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
(Konec)
|