Фактический запрос выполняется с помощью приложения/json Content-Type, затем запрос будет отправлен в фильтр для изменения, измените Content-Type на multipart/form-data, затем добавьте жестко запрограммированный ключ и значение в качестве form-data, но моя текущая настройка не работает. Есть идеи?
public class LogRequestResponseFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
ContentCachingRequestWrapper wrappedRequest = new ContentCachingRequestWrapper(httpServletRequest);
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(httpServletResponse);
// MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) wrappedRequest;
// multipartRequest.getParameterMap().put("scope", new String[]{"read"});
filterChain.doFilter(wrappedRequest, responseWrapper);
String responseBody = getStringValue(responseWrapper.getContentAsByteArray(),servletResponse.getCharacterEncoding());
generateTokenUriLog(responseBody,httpServletRequest,httpServletResponse);
responseWrapper.copyBodyToResponse();
Ошибка
Это ошибка, если я собираюсь раскомментировать этот код
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) wrappedRequest;
multipartRequest.getParameterMap().put("scope", new String[]{"read"});
class org.springframework.web.util.ContentCachingRequestWrapper cannot be cast to class org.springframework.web.multipart.MultipartHttpServletRequest
Подробнее здесь: https://stackoverflow.com/questions/779 ... urlencoded