この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 29172|答える: 1

[出典] 複数の同一サービス名に対するJava FeignClient Interface例外ソリューション

[リンクをコピー]
掲載地 2021/09/14 18:05:15 | | | |
Spring Cloudはマイクロサービス通信にOpenFeignを使用しており、同じサービス名がインターフェースと異なる場合、エラーは次のように報告されます。

Description:

豆の『itsvse』だ。 FeignClientSpecification'は登録できませんでした。 その名前のビーンはすでに定義されており、オーバーライドは無効化されています。

Action:

ビーンズの1つをリネームするか、spring.main.allow-bean-definition-overrideing=true を設定することでオーバーライドを有効にすることを検討してください


原因分析

定義された複数のFeignClientインターフェースの値はすべてxxxx-serverであり、Springboot 2.2.xのビーン名は@FeignClientの値(すなわち名前)に従って名付けられているため、ビーンはすでに定義されています。


解決

解決策1:エラーのプロンプトに従って、次の構成を追加します。



解決策2では、FeignClientを定義する際に同時にcontextId属性を定義し、これはbeanNameルールに含まれます。定義済みのBeanには例外はありません。

(終わり)




先の:Windowsには外部(出口)IPアドレスを取得するためのブラウザがありません
次に:Javaにおける一般的な関数インターフェース(デリゲート)の詳細な説明
 地主| 掲載地 2021/09/22 15:28:34 |

GETにはリクエスト機関があってはなりません


feignはokhttp3のGetメソッドを使ってインターフェースを要求する際に@RequestParamを追加しなければなりません。コントローラーは追加されなくても追加可能です

例としては以下のものがあります:



免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com