При загрузке больших файлов с помощью Zuul Proxy -
Чтобы обойти Spring DispatcherServlet, я изменил URL:
От: http://localhost:8081/MyService/file
Кому: http://localhost:8081/zuul/MyService/file
Сохранено отключение многоэтапной загрузки Spring:
spring:
http:
multipart:
enabled: false
Но я не хочу использовать какой-либо дополнительный префикс (/ zuul /) для моего клиентского URI (host / MyService / **), поэтому в своем предварительном фильтре я проверяю, является ли исходный запрос составным или нет ?
И если запрос составной формы, я пытаюсь обновить свой URI запроса до host / zuul / MyService. Также я хочу установить для логического значения isDispatcherServletRequest значение false.
Вот мой предварительный фильтр -
@Override
public Object run() throws ZuulException {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
System.out.println("Request type of content type "+request.getContentType());
String requestType = request.getContentType();
if(requestType.contains("multipart/form-data")) {
String originalRequestPath = request.getRequestURI();
String modifiedRequestPath = "/zuul" + originalRequestPath;
ctx.put("REQUEST_URI_KEY", modifiedRequestPath);
}
return null;
}
Вопрос 1. Как поместить новый URI в requestContext?
Вопрос 2. Как отключить DispatcherServletRequest в фильтре?