クライアントのHTMLページにThymeleafというhttp://localhost:8080/services/someservice
のように現在のサービスURL(ユーレカに登録され、zuulゲートウェイ経由で呼び出された)を表示するソリューションを見つけることができません。Thymeleafを使用して現在のサービスゲートウェイのURLを表示
私は#httpServletRequest?.requestURL
を使用しようとしましたが、サービスがユーレカにどのように登録されているかを返信します。user.somepackage.com:someservice:8011
、これは私が欲しいものではありません。
私がこれに対して持っている解決策の1つは、ハードウェアでハードウェア化された変数をThymeleafで1回割り当てるか、またはSpringコントローラで行うことですが、これはきちんとしたものではないと思います。
誰かが同様の問題を抱えていて、より良い解決策を見つけた可能性があります。
あなたのソリューションに感謝しますが、私はそれが問題を解決していないことに気付いています。私のアプリケーション内のURLと添付された.jsまたは.cssファイルは、アプリケーションの周りをブラウズすると失われます。 'services/someservice/findsomething/id.'に行きます。私は静的にURLを' href'に挿入しなければなりません。 'th:href'を使うと、URL全体がなければ動作しません。そのため、私は現在のURLを見つけるためにいくつかのパラメータを使用することを考えていたので、上記のように返されます。 –
私はちょうどコンテキスト相対URLスキームを記述しました。私はあなたがサーバーに敏感なURLパスが必要になると思います。私はそれに応じて答えを更新します。 – tmarwen