diff --git a/spring-web/src/main/java/org/springframework/web/util/ContentCachingRequestWrapper.java b/spring-web/src/main/java/org/springframework/web/util/ContentCachingRequestWrapper.java index 29b93e01a8b5..9c486030240c 100644 --- a/spring-web/src/main/java/org/springframework/web/util/ContentCachingRequestWrapper.java +++ b/spring-web/src/main/java/org/springframework/web/util/ContentCachingRequestWrapper.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.net.URLEncoder; +import java.nio.charset.Charset; import java.util.Arrays; import java.util.Enumeration; import java.util.Iterator; @@ -196,6 +197,14 @@ public byte[] getContentAsByteArray() { return this.cachedContent.toByteArray(); } + /** + * Return the cached request content as a String. The Charset used to decode + * the cached content is the same as returned by getCharacterEncoding. + */ + public String getContentAsString() { + return this.cachedContent.toString(Charset.forName(getCharacterEncoding())); + } + /** * Template method for handling a content overflow: specifically, a request * body being read that exceeds the specified content cache limit.