それは、ワイルドカードに一致するZuulルートを設定することは可能ですか?

アレックス・エッガース:

私は、テナント名は、すべてのURL内に含まれているマルチテナントアプリケーションを構築しています。例えば、テナントのすべての現在のユーザーの「テスト」を取得するためのルートは次のようになります/ui/api/Test/users私は現在働いているアプリケーションの一部は、他のアプリケーションの転送を要求、それはクライアントが行く-間として作用させること、私のDBサービスをサポートするクライアントです。

これが起こっているところあなたはおそらく見ることができます。私は自分のルートを転送するZuulを使用していますが、すべてのルートは、このように転送すべきではありません。時には、フロントエンドで始まる要求送信します/ui/api/データベース要求ではないことを。のは、このように、これらのルックスのいずれかを言ってみましょう:/ui/api/Test/Foo私は、パターン収まる任意のURL転送できるように、私のZuulルートを設定することがしたい/ui/api/*/usersすべての人を転送せず(*は任意の文字列です)。

私はもちろん、単純に使用しようとしている/ui/api/*/usersが、これは任意の経路と一致しません。私はそれを試していないが、私はそれは単に解釈がURLの実際の一環として*と仮定します。私の現在の回避策は一致している/ui/api/**と、その後追加**/Foozuul.ignoredPatternsに。これは動作しますが、私は転送されないために必要であることが、新しいエンドポイントは、ここで追加する必要がありますから、supoptimalです。クライアントは様々なプロジェクトで使用されることを意図されているので、転送されたルートは変更しますが、あってはならないものではありません。これにより実行可能な解決策ではないプロジェクトごとに設定することはできませんと。

これは私のapplication.propertiesの関連部分は次のようになります。

zuul.ignoredPatterns = /**/login,/**/executeJobUrl,/**/createExecuteJobUrl

zuul.routes.user-manager.path = /ui/api/**
zuul.routes.user-manager.url = http://localhost:0/eis-user-manager/ui/api
zuul.routes.user-manager.stripPrefix = true
ノルベルト・BICSI:

ワーキング溶液は使用することがある**パターンで。だから、だろう

 /ui/api/**/users

私からアイデアを得たここにテストと解答を作ることを示唆しているにもアレックスEggersの功績によるものです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=232197&siteId=1