【问题标题】:How to handle POST request using ZUUL for multiple services如何使用 ZUUL 处理多个服务的 POST 请求
【发布时间】:2020-03-29 20:16:02
【问题描述】:

我在两个不同的项目中有两个服务。

1) 网站用户界面

服务名称 - 网站

端口 - 8000

2) 预测

服务名称 - 预测

端口 - 8082

我还在 8008 上运行 ZUUL,在端口 8761 上运行我的服务发现。

网站项目有我需要的所有网页 - home.html 和 dashboard.html。

下面是我的 ZUUL 路由:application.yml

zuul:
  routes:
    website:
      path: /
      serviceId: website
      stripPrefix: false

    form1:
      path: /form1
      serviceId: prediction
      stripPrefix: false

    dashboard:
      path: /dashboard
      serviceId: website
      stripPrefix: false

在网站项目的 home.html 中,我有一个带有 POST 操作的表单,它应该调用 Prediction 项目中的 POST 方法。 那么我的行动应该是什么? 像这样 -

<form method="POST" enctype="multipart/form-data" action="http://localhost:8008/form1">

我的 ZUUL 在 8008 上。 这是正确的方法吗?

并且在预测服务的“/form”发布方法中,我需要做一些操作,然后导航到网站项目的另一个网页“dashboard.html”。在使用上述表单操作时,我无法重定向到任何其他页面。 我该如何解决这个问题?

【问题讨论】:

    标签: java rest spring-boot routing netflix-zuul


    【解决方案1】:

    将您的网站移出 zuul。

    在你的网页中,使用ajax访问zuul从web服务中获取数据。

    PS:如果你想给你的网站添加LB,你最好使用nginx。

    【讨论】:

    • 即使我将我的网站与 Zuul 分开,我仍然需要对 WebAPI 进行 POST 调用。所以对于那些电话,我将不得不使用 Zuul 路由,不是吗?或者,有没有办法使用 Ajax 为表单创建 POST 方法?我是新手。所以不确定我们是否可以这样做。
    • 不管使用 Ajax 调用,你对后端的调用都会通过 Zuul。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    相关资源
    最近更新 更多