問題タブ [netflix-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.

0 投票する
2 に答える
562 参照

java - 2 つの異なる依存関係モジュールが実際には同じであることを gradle に伝え、バージョンが最も高いモジュールを選択させることはできますか?

Netflix Feign と Glassfish Jersey の実装に依存するプロジェクトがあります。

Feign は JAX-RS (JSR 311) の 1.1 仕様を使用し、glassfish jersey 実装は 2.0 仕様を使用します。2.0 は下位互換性がありますが、Gradle の依存関係の名前が変更されています。

したがって、私のプロジェクトには 2 つの依存関係があります。

  • javax.ws.rs:jsr311-api:1.1.1
  • javax.ws.rs:javax-ws-rs-api:2.0.1

どちらも同じパッケージに同じクラスを実装していますが、1.x に従っているものと 2.x に従っているものがあります。

私の Java コードでは、クラス名とパッケージしか指摘できません。

名前は異なりますが、これは実際には同じパッケージであり、そのようにしてクラスパスで実装クラスのセットを1つだけ取得することをGradleに伝えることはできますか?

現在、JVM とコンパイラが選択するクラスのバージョンはランダムです。コンパイルされない場合もあれば、コンパイルされても実行されない場合もあります (MethodNotFoundException)。

0 投票する
0 に答える
2240 参照

spring-cloud - Spring Cloud でカスタマイズされた ErrorDecoder と @ExceptionHandler を連携させる方法

「hr」と呼ばれるSpringクラウドサービスと、Feignをクライアントとして使用してhrサービスを呼び出すAPIゲートウェイサービスがあります。hr サービスで例外が発生した場合、型が の json メッセージが返されますResponseEntity<ServiceException>。のServiceExceptionようなものです:

feign.codec.ErrorDecoderAPI ゲートウェイ サービスでは、次のようにカスタマイズしました。

ServiceException を取得しても問題なく動作し、次のようなエラー メッセージを取得できます。

エラー メッセージの形式を変更し、少なくともclassのerrorCodeフィールドを追加したいので、例外を処理するための注釈クラスを追加します。しかし残念ながら、それはうまくいきません。一部のフィルターからだけコントローラーによって例外がスローされないため、注釈が機能しない可能性があります。ServiceException@ControllerAdvice@ControllerAdvice

どなたか、ケースのアドバイスをいただけないでしょうか。

0 投票する
1 に答える
263 参照

java - 偽の標的を偽装する

偽のターゲットを偽装する方法はありますか? 私のユースケースは次のとおりです。

  1. 同じ JVM で開始することも、別のサービスとして開始することもできるサービスがあります。
  2. サービスが同じ JVM で開始されている場合は、Guice を使用してバインドします。
  3. サービスがjvmの外部で開始された場合、fiegnを使用してサービスをバインドし、guiceに同じものを注入させます。
0 投票する
3 に答える
40845 参照

rest - 基本的な例で Feign Client を動作させることができない

Feign Client を動作させることができません。最初に POST で試してみました。タイプが正しくないというエンコーダー/デコーダーに関連するエラーが発生し続けました。次に、github で単純な GET API を呼び出す例を最終的に見つけ、試してみることにしました。それでも失敗する

Github とオンラインで、Feign Client Spring-Cloud、OpenFeign、Netflix.feign の複数のバージョンが異なるバージョンで表示されています。本番環境で使用する必要がある、最適で安定した Feign クライアントを説明できる人はいますか?

応用:

AutoWire の問題を解決できると考えて、注釈のすべての可能な順列を試しましたが、それでも失敗します

2016-07-20 18:15:42.406[0;39m [31mERROR[0;39m [35m32749[0;39m [2m---]0;39m [2m[メイン]][0;39m [36mo.s.boot .SpringApplication [0;39m [2m:[0;39m アプリケーションの起動に失敗しました

org.springframework.beans.factory.BeanCreationException: 「testWLCController」という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'com.aa..controllers.GetFeignClient' という名前の Bean の作成中にエラーが発生しました: FactoryBean がオブジェクトの作成時に例外をスローしました。ネストされた例外は、org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] で java.lang.NullPointerException です。組織 run(SpringApplication.java:1180) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE] at com.paa.ServiceApplication.main(ServiceApplication.java:44) [bin/:na] 原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: プライベート com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient; ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'com.paa.controllers.GetFeignClient' という名前の Bean の作成中にエラーが発生しました: FactoryBean がオブジェクトの作成時に例外をスローしました。ネストされた例外は、org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) で java.lang.NullPointerException です ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE ] org.springframework.beans で。

0 投票する
0 に答える
360 参照

spring-security-oauth2 - 特定の FeignClient の RequestIntercepor

AccessToken を OAuth2ClientContext から RequestTemplate のヘッダーに自動的にコピーする RequestInterceptor があるため、内部サービスは、シナリオを開始したモバイル デバイスから取得したものと同じ AccessToken を使用して相互にシームレスに呼び出します。これが、サービス メソッドの承認を管理する方法です。これはインターセプター コードです。

これは @Beans 構成です。

問題は、さまざまな FeignClient があり、その一部が SMS テキストに使用するサービスなどのサードパーティ サービス用であり、そこに AccessToken を送信したくないことです。

RequestInterceptor 内でどの FeignClient から来たのかを判断するにはどうすればよいですか?

0 投票する
1 に答える
667 参照

spring-cloud - クエリ値に `{aa%` が含まれているため、feign が http ステータス コード 400 を返しました

spring-cloud で feign を使用していますが、問題があります。

これは私の偽のクライアント定義です。

この呼び出しには、ステータス コード 400 が返されます。

次に、コードを確認すると、RequestTemplate クラスに次のコードが見つかりました。

encodeIfNotVariablequery(String name, String... values) で呼び出されるメソッド。

これは{、最初の に と を含む値の場合、値をエンコードできないことを意味します。

どうすればこれを修正できますか?

0 投票する
1 に答える
4682 参照

java - Netflix Feign コンテンツ タイプ 'アプリケーション/json;charset=UTF-8' はサポートされていません

次のようなクライアントを使用して、Netflix Feignを使用してJava httpクライアントを作成しています。

奇妙なエラーが表示されます

メッセージには「コンテンツ タイプ 'アプリケーション/json;charset=UTF-8' はサポートされていません」というメッセージが表示されますMediaType.APPLICATION_JSON_UTF8_VALUEが、Spring の値を使用しています。

アプリケーション/json;文字セット=UTF-8

誰が何が起こっているのか知っていますか?

0 投票する
2 に答える
12283 参照

java - netflix を偽装するヘッダーを取得する

マイクロサービスの通信にnetflix feignを使用しています。

したがって、私のマイクロサービス A には、マイクロサービス B によって消費される操作「OperationA」があり、X-Total という名前のヘッダーで 1 つのパラメーターを B に渡します。

私のクライアントインターフェースは次のとおりです:

次に、dto のリストを取得しましたが、ヘッダーの X-TOTAL パラメータを取得する方法がわかりません。

ヘッダーのパラメーターを取得するにはどうすればよいですか?

0 投票する
4 に答える
3325 参照

netflix-feign - Feign はスレッドセーフですか?

Feign スレッドセーフのインスタンスはありますか? これをサポートするドキュメントは見つかりませんでした。そうでないと思う人はいますか?

これは、Feign の github リポジトリに投稿された標準的な例です...

これを次のように変更する必要があります...スレッドセーフですか...?

上記の例では... スプリング ベースのコンポーネントを使用してシングルトンを強調表示しました。前もって感謝します...

0 投票する
1 に答える
365 参照

spring-cloud-netflix - spring-cloud - リボンだけの Hystrix ストリーム

spring-boot-starter-actuatorリボン/Feign クライアントが使用されている Web アプリケーションでは、hystrix ストリーム/エンドポイントが有効になっていません。

HystrixCircuitBreakerConfiguration.HystrixWebConfiguration条件が成立しても発動しません。

Feign/Ribbon の hystrix ストリームを有効にする方法は?

環境: Spring Boot 1.3.5.RELEASE、Spring Cloud Brixton.SR4