#マイクロサービスモジュール間のインターフェイス呼び出しメソッド(FeginClient)

マイクロサービスモジュール間のインターフェイス呼び出しメソッド(FeginClient)

FeginClientの説明
  • マイクロサービスアーキテクチャのプロジェクト開発では、モジュール間でメソッドが呼び出されます。以前のRestTemplateメソッドに加えて、FeginClientはモジュール間でメソッドを呼び出すメソッドでもあります。Spring Cloud Feignの実装では、インターフェイスを作成し、注釈(@FeignClient)を使用し構成するだけで、サービスプロバイダーへのインターフェイスのバインドが完了します。これにより、SpringCloudリボンを使用する際のサービス呼び出しの自己カプセル化が簡素化されます。クライアント開発の量。呼び出されたメソッドに関連するサービスは、Eurakに登録されている必要があります。
Mavenの依存関係を導入する
<!-- FeginClent-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
スタートアップクラスがFeginClentを開きます
@EnableFeignClients
public class CoreApplication {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(CoreApplication.class, args);
    }
}
FeginClecntメソッド呼び出しインターフェイスを記述します

@FeginClent()パラメータの説明

  • name:Eurokeに登録されている名前であるFeignClientの名前を指定します
  • url:urlは通常、デバッグに使用されます。@ FeignClientによって呼び出されるアドレスを手動で指定できます。
  • decode404:http 404エラーが発生すると、このフィールドがtrueの場合、デコーダーが呼び出されてデコードされます。それ以外の場合、FeignExceptionがスローされます。
  • 構成:Feign構成クラス、Feign Encoder、Decoder、LogLevel、Contractをカスタマイズできます
  • フォールバック:フォールトトレラント処理クラスを定義します。リモートインターフェイスに障害が発生するかタイムアウトすると、対応するインターフェイスのフォールトトレラントロジックが呼び出されます。フォールバックで指定されたクラスは、@ FeignClientでマークされたインターフェイスを実装する必要があります。
  • fallbackFactory:フォールバッククラスの例を生成するために使用されるファクトリクラス。この属性を使用して、各インターフェイスに共通のフォールトトレラントロジックを実装し、反復コードを削減できます。
  • パス:現在のFeignClientの統合プレフィックスを定義します
@FeignClient(name = "osback")
public interface FeginClientTest {
    
    

    @RequestMapping("/backtest/test3")
    Map<String,String> getTest(@RequestBody Map<String,String> map);

}
呼び出す必要のあるインターフェイスは、OsBackモジュールの次のメソッドです。
@RequestMapping("/backtest")
@RestController
public class TestController extends BaseController {
    
    
    
    @RequestMapping("/test3")
    public Map<String,String> getTest(@RequestBody Map<String,String> map){
    
    
        return map;
    }

}
定義されたFeginClent呼び出しメソッドを挿入します
@RestController
@RequestMapping("/test")
public class TestCoreController {
    
    

    @Autowired
    FeginClientTest feginClientTest;


    @RequestMapping("/test2")
    public Map<String,String> test2(){
    
    
        Map<String,String> map=new HashMap<>();
        map.put("test1","test");
        map.put("test2","test2");
        Map<String, String> test = feginClientTest.getTest(map);
        return test;
    }

}
知っておく必要があります
  • FeginClentで受信される形式は、呼び出し元のメソッドによって返される形式と一致している必要があります。
  • テスト中に、FeginClentインターフェイスの呼び出しアドレスを設定し、Urlパラメーターを入力してメソッドを呼び出すことができます。
  • とにかく使い方は簡単です。

コードの完全なアドレスhttps://gitee.com/Marlon_Brando/back.git

おすすめ

転載: blog.csdn.net/qq_37248504/article/details/108476549