問題タブ [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 投票する
1 に答える
3277 参照

java - @FeignClient は、共通の完全に注釈が付けられたインターフェイスを拡張し、@RestController を実装できますか?

Feign クライアントに Spring Boot コントローラーを使用してもらい、それらの間のコントラクトを可能な限り共通のインターフェイスで指定するようにします。

メソッドとのインターフェースは次のようになります。

Feign クライアントは次のようになります。

および Spring ブート コントローラー:

@RequestMapping を 2 か所指定する必要がないのは良いことですが、残念ながら @RequestBody を 2 回指定する必要があるようです。@RequestBody がコントローラーまたは共有インターフェースから省略されている場合、Rule オブジェクトはインスタンス化されますが、すべてのメンバーが null に設定されます。

これを回避する方法はありますか?おそらく、これは新しいバージョンで対処されていますか? 私の依存関係は次のとおりです。

この手法には少なくとも偽コア 8.6 が必要であることがわかりました。

https://jmnarloch.wordpress.com/2015/08/19/spring-cloud-designing-feign-client/

助けてくれてありがとう。

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

java - Feign を使用して POST データをリクエスト パラメータとして含める

次のような API があるとします。PersonDtoは単純な pojo です。

この API を呼び出すと、feign はリクエスト本文に pojo のすべてのプロパティを含めます (これは標準であり、これまでのところ適切です) が、反対側に POST データがリクエスト パラメータとして含まれることを期待するレガシー アプリがあります。私は次のようなことができることを知っています:

しかし、パラメータが多すぎると本当に醜くなります。

インターセプターを使用してプログラムでパラメーターを追加しようとしRequestTemplate.queryましたが、それらはすべてリクエスト本文にも含まれます。

偽物でそのようなことをする方法はありますか?

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

spring - Feign Client + Eureka POST リクエスト本文

Feign と Eureka を使用して、サーバー A からサーバー B に投稿要求を転送しようとしています。両方のサーバーが Eureka によって正常に検出されました。

これは機能します:

ただし、POST リクエストの内容を読み取るために 2 番目の引数を @RequestBody に変更すると、例外が発生します。

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

spring - 偽のクライアントと hystrix で Oauth2 トークンを使用しようとしています

「ServiceA」から「ServiceB」を呼び出そうとしています。どちらのサービスもリソースサーバーです。「Feign Client and OAuth2 toke」を介してこのサービス間呼び出しを行おうとしています。これは、Configuration クラスの以下の Bean 実装で正常に動作しています。 :

フォールバックで Feign クライアントを使用しようとしているとき、つまり OAuth トークンなしで Hystrix を使用しようとしているとき (つまり、どのサービスもリソース サーバーではないとき) も正常に動作しています。

しかし、これらのうちの 3 つ (つまり、Feignclient、Hystrix、および OAuth2) をすべて一緒に使用しようとしても、うまくいきません。すべてのサービスが稼働しているにもかかわらず、毎回フォールバック方式になります。

以下は私のコードです:

App.java

Callervice.java

HystrixWrappedClient.java

GitHubClient.java

pom.xml

提案してください。Feignclient、OAuth2、および Hystrix をすべて一緒に使用しようとすると、常にフォールバック メソッドになります。

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

spring-cloud - @FeignClient で Hystrix クライアント フォールバックを直接定義するにはどうすればよいですか

Spring のドキュメントで説明されているように、偽の定義でフォールバック関数を直接定義しようとしています。以下のコードを参照してください。ただし、静的クラスを定義できないというエラーが表示されます。「modifier static not allowed here」. 偽装呼び出しが失敗したときにフォールバック関数を実行するにはどうすればよいですか?

よろしく、

ナダブ

0 投票する
3 に答える
9786 参照

spring - パラメータを変換するために @FeignClient Expander をカスタムする方法は?

パラメータを変換するためにデフォルトのエキスパンダーを装う:</p>

GETこのように、ユーザーをサポートするパラメーターに変換するようにカスタムしたい

私に何ができる?

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

spring - Spring Cloud Feign は Spring MVC アノテーションのプレースホルダーをサポートしていますか?

以下に示すように、プレースホルダーを使用してリクエストのパスを定義したいと思います。リクエストを試みると、spring-cloud-feign がプレースホルダーを application.yml 値と交換できないようです。

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

spring-cloud - 特定の Spring Cloud Feign クライアントの RequestInterceptor を除外するには?

「グローバル」な RequestInterceptor が定義されているクライアントが多数あります。クライアントの 1 つで、この「グローバル」インターセプターを除外する必要があります。特定の FeignClient の RequestInterceptors の完全なセットをオーバーライドすることは可能ですか?

使用している spring-cloud-netflix のバージョンは 1.1.0 M5 です

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

connection-pooling - Spring Cloud: Feign および HTTP 接続プーリング

Spring Cloud Feign Client が Http 接続プーリングを提供またはサポートしているかどうか、もしそうなら、プール サイズなどの設定を構成する方法を教えてください。公式ドキュメントでこれを見つけることができないようです。ありがとうございました。

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

spring-mvc - Spring Cloud Netflix Feign - エラー 405 リクエストメソッド 'POST' はサポートされていません

Web サービスに Feign を使用して REST クライアントを構築しようとしています。Web サービスは、xml Bean 構成を使用して Spring 4 で構築されています。

プロジェクトはMavenで構築され、サブモジュールを使用して構造化されています

Feign クライアントを有効にするために、Spring xml 構成で有効な注釈付きクラスを作成しました。

spring.xml

FeignConfiguration.java

次に、Feign クライアントを作成し、アノテーションを使用して構成しました

FooClient.java

API コントローラーは、次のように Feign クライアントを実装します。

FooController.java

foo-api-client モジュール jar は、外部クライアントが foo-api-service REST サービスに接続するための依存関係として使用されます。これらのクライアントが API を簡単に使用できるようにするために、FooClient のインスタンスを生成するファクトリ クラスが作成されています。

FooClientFactory.java

問題 外部クライアントがFooClientFactory を使用して foo Web サービスへのリクエストを実行するとfooClientFactory.build().get("id");、405 エラーが返されます。クライアント コンソールの応答ログは次のとおりです。

stackoverflow や他のブログでこの種の問題を検索しましたが、セットアップ全体の何が問題なのか理解できませんでした。

何か案が?

ありがとう、アンドレア