Anforderungen: Erfassen Sie den Anfrageinhalt der Schnittstelle im Log, das sich auf die von POST, PUT, Delete usw. eingereichten Inhalte bezieht, und der Inhalt kann ein Formular oder eine JSON-Zeichenkette sein.
Jeder mit etwas Erfahrung weiß, dass wenn wir den Fluss von HttpServletRequest oder HttpServletResponse im Filter lesen, es keine Möglichkeit gibt, ihn erneut zu lesen, was die Anfrage als außergewöhnlich erscheint. Daher müssen wir die von Spring bereitgestellten ContentCachingRequestWrapper und ContentCachingRequestWrapper verwenden, um die Lesevorgänge des Datenstroms zu wiederholen. Schauen wir uns zuerst die Renderings wie folgt an:
Um festzustellen, ob eine Anfrage die Inhaltsinformationen enthält, lautet der Code wie folgt (Ausgeschlossene "Multipart/Formulardaten"-Dateieinreichungen):
Erhalten Sie die gewünschten Inhaltsinformationen:
Filtercode:
Anmerkung:Nach dem Aufruf der chain.doFilter-Methode können Sie die gewünschten Inhalte erhaltenDas Prinzip ist, dass wenn der Controller den InputStream erhält, der ContentCachingRequestWrapper den Inhalt in eine Variable zwischenspeichert.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
(Ende)
|