【问题标题】:Spring Boot Zuul Mulitpart requestSpring Boot Zuul 多部分请求
【发布时间】:2017-11-06 16:35:28
【问题描述】:

我正在开发 FileStore 应用程序,FileStore 是一个 Spring Boot 应用程序。

我们不想发布 FileStore 应用的 URL,我们想放 Zuul 应用,它会像代理一样工作。

我尝试了基本的 Zuul 网关示例。这一切都适用于以下示例的正常请求

  1. https://spring.io/guides/gs/routing-and-filtering/

但是对于多部分请求它失败了。任何人都可以有使用 Zuul 代理支持多部分请求的示例。

我们正在尝试通过 Zuul 代理上传大文件...

Exception stacktrace

预过滤代码:

  public class MyPreFilter extends ZuulFilter{

     @Override
      public String filterType() {
        return "pre";
      }

      @Override
      public int filterOrder() {
        return 1;
      }

      @Override
      public boolean shouldFilter() {
        return true;
      }

      @Override
      public Object run() {
        RequestContext ctx = RequestContext.getCurrentContext();
        HttpServletRequest request = ctx.getRequest();

        log.info(String.format("%s request to %s", request.getMethod(), request.getRequestURL().toString()));

        return null;
      }

}


提前致谢。

【问题讨论】:

  • 它是如何失败的?
  • 我已经为 PreFilter 添加了异常和代码...
  • 文件有文件后缀吗?如果是的话,不妨看看这里的答案:stackoverflow.com/a/30794212
  • 不,我没有文件后缀问题

标签: spring-boot netflix-zuul


【解决方案1】:

您可以在zuul API网关上使用以下配置:

zuul:
routes:
  user-service-1:
       path: /api/userserv1/**
       url: http://localhost:9090
       strip-prefix: false
  user-service-2:
       path: /api/userserv2/**
       url: http://localhost:9091
       strip-prefix: false 
  user-service-3:
       path: /api/userserv3/**
       url: http://localhost:9092
       strip-prefix: false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-18
    • 2020-05-25
    • 2016-10-19
    • 2018-06-01
    • 2017-09-21
    • 2019-09-16
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多