問題タブ [feign]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring Boot アプリケーションの Feign クライアントで WireMock を使用するには?
Feign クライアントを利用するクラスがあります。以前は Mockito を使用し、Feign クライアントのメソッド呼び出しごとに保存された応答を提供していました。ここで、コードがさまざまな種類の応答コードを正しく処理することを確認できるように、WireMock を使用したいと考えています。どうすればこれを行うことができますか?テストで Feign クライアントを接続する方法がわかりません。また、ファイルに設定した URL の代わりに Wiremock を使用するように接続しapplication.yml
ます。任意のポインタをいただければ幸いです。
spring-cloud - すべての名前を知らなくても、任意の数のヘッダーを Feign クライアントに渡す方法は?
特定のプレフィックスで始まるすべてのヘッダーを偽のクライアントに渡す必要があるユースケースがあります。これらのヘッダーの数や正確な名前はわかりません。Feign クライアントはすべてのヘッダーが を使用して指定されることを期待しているため、これを簡単に行う方法はないようです@RequestHeader("name")
。のようなものはサポートしていないよう@RequestHeader HttpHeaders
です。これは非常に便利です。助言がありますか?
spring-boot - Spring BootアプリケーションでWebアプリが起動した直後に「dispatcherServlet」を自動的に初期化する方法は?
私は、スプリング ブート アプリケーションで hystrix を使用して偽のクライアントに取り組んでいます。eureka サーバーを開始し、2 つのプロバイダーを登録しました。偽のクライアント アプリケーションでは、hystrix サポートを追加しました。初めてサービスをリクエストしたときは hystrix の結果が得られましたが、その後はすべてのリクエストがプロバイダーから期待される結果を得ることができました。ログからdispatcherServlet
、Web アプリの開始後ではなく、最初の要求が行われた後に が遅延して初期化されたことがわかります。これにより、hystrix のタイムアウト期間が延長されます。この場合、 の遅延初期化が原因で、最初のリクエストで常に false の結果が得られますdispatcherServlet
。
- 最初のリクエストを正しく取得するにはどうすればよいですか?
dispatcherServet
Web起動直後に初期化してもよろしいでしょうか?もしそうなら、どうすればいいですか?
ログ:
ありがとう。
java - Feign Hystrix コマンド名が機能しない
クラスとして定義された Hystrix コマンドがある場合、以下のようにグループ キーとコマンド キーの定義を制御できます。
したがって、上記のコード グループ キーは MyHystrixGroup であり、コマンド キーは MyHystrixCommand です。
この hystrix コマンドの構成を設定したい場合は、次のようにできます
デフォルトのものはどこにあるのか、
現在、Feign Hystrix を使用しているとき、コマンド名/グループ名を定義していません。ドキュメントhereに従って、グループ キーはターゲット名と一致し、コマンド キーはログ キーと同じです。
したがって、このような FeignClient がある場合、
ファクトリ クラスで Feign クライアントのインスタンスを作成します。
クライアントを返す前にわかるように、hystrix コマンドのタイムアウト構成を設定したいと考えています。
MockWebServer でテストしています。
これは、デフォルトの hystrix パラメータ hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds にタイムアウトを設定した場合にのみ機能します
これはうまくいきませんでした。同様に、以下の値を試しましたが、どれも機能しませんでした。
java - 偽のクライアントにリクエストインターセプターを追加する方法は?
偽のクライアントを介してリクエストを行うたびに、認証されたユーザーで特定のヘッダーを設定したいと考えています。
これは、認証を取得して春のセキュリティ コンテキストに設定するフィルターです。
これは私の偽のクライアントです:
そして、ここにリクエストインターセプターがあります:
このインターセプターをクライアントに設定する方法と、ヘッダーにユーザー名とパスワードを設定する方法がわかりません。どうすればそれを達成できますか?
java - リクエストボディオブジェクトをJSONに自動エンコード
OpenFeign/feign を使用して API リクエストを送信しています。
@Body("{bulk}")
オブジェクトを文字列に変換するため、機能していません。
オブジェクトを JSON オブジェクトに自動的に変換する方法はありますか?
これは私が構築する方法ですFeign.Builder
:
java - オブザーバブルをブロッキング オブザーバブルに変換して rxJava を誤用していませんか?
私の API は、2 つの別個のサービスに対してペアで約 100 のダウンストリーム呼び出しを行います。クライアントに応答を返す前に、すべての応答を集約する必要があります。hystrix-feign を使用して HTTP 呼び出しを行います。
rxJavaドキュメントで次のことを見つけるまで、エレガントなソリューションだと信じていたものを思いつきました
BlockingObservable は、ブロッキング オペレータを提供するさまざまな Observable です。これはテストやデモの目的には役立ちますが、通常、実稼働アプリケーションには適していません (BlockingObservable を使用する必要があると思われる場合、これは通常、設計を再考する必要があることを示しています)。
私のコードはおおよそ次のようになります
この設定に基づくいくつかの質問:
- 私のユースケースを考えると toBlocking() は正当化されますか
- メインスレッドが forEach() に到達するまで、実際の HTTP 呼び出しは行われないことを理解しているのは正しいですか?
- forEach() ブロック内のコードが異なるスレッドによって実行されることは確認しましたが、forEach() ブロック内に複数のスレッドが存在する可能性があるかどうかは確認できませんでした。同時実行はありますか?
spring - FeignClientで複数のクエリ文字列パラメータを使用してURLを呼び出す方法は?
複数のクエリ文字列パラメーターを使用して Google API を呼び出そうとしています。そして不思議なことに、私はそれを行う方法を見つけることができません。
これは私の FeignClient です:
問題は、の「&」文字RequestMapping value
が&
これを回避するには?
ありがとう !