u can extend ContentCachingRequestWrapper to return a new reader each time
`
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.util.ContentCachingRequestWrapper;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReReadableContentCachingRequestWrapper extends ContentCachingRequestWrapper {
public ReReadableContentCachingRequestWrapper(HttpServletRequest request) {
super(request);
}
public ReReadableContentCachingRequestWrapper(HttpServletRequest request, int contentCacheLimit) {
super(request, contentCacheLimit);
}
@Override
public BufferedReader getReader() throws IOException {
return new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getContentAsByteArray())));
}
}
`