サービスコントラクトとは、OpenAPI 仕様に基づくマイクロサービスインターフェースの記述を指します。マイクロサービスシステムは、サービスコントラクトに基づいて動作および実行されます。アプリケーションをデプロイした後、アプリケーションへの依存関係を導入する必要はありません。サービスコントラクトを使用することで、マイクロサービスインターフェースやパスなどの API 情報を表示できます。サービスのクエリやサービステストなどの機能を使用するための簡単な方法を使用できます。
背景情報
サービスコントラクトには、次の 3 つの機能が含まれています。
API クエリ
サービスコントラクトを使用することで、サービスプロバイダーまたはコンシューマーの重要な API 情報を表示できます。情報には、メソッド、パラメーターリスト、および戻り値の型が含まれます。Spring Cloud サービスを選択した場合は、リクエストメソッド、リクエストパス、クラス名などの情報を表示できます。
Swagger アノテーションの解析
Swagger は、OpenAPI 仕様の主要な貢献者です。Swagger は、OpenAPI 仕様をサポートする唯一のツールではありません。ただし、API を記述するために使用できる基本的な標準ツールです。
サービスコントラクトは Swagger アノテーションの解析をサポートしています。解析結果は、Enterprise Distributed Application Service (EDAS) コンソールのサービスコントラクトページに表示されます。
Swagger 2.0 の場合、@ApiOperation、@ApiParam、@ApiImplicitParam などのアノテーションの値が解析され、[説明] 列に表示されます。
OpenAPI 3.0 の場合、@Operation および @Parameter などのアノテーションの値が解析され、[説明] 列に表示されます。
サービステストの前提条件
サービステスト機能は、サービスの API 情報に基づいて、サービスインターフェースまたはパスをテストします。API 情報は、サービスコントラクトを使用して収集されます。
手順
MSE コンソール にログインし、上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションペインで、 を選択します。
Service query ページで、表示するサービスの名前をクリックします。
多数のサービスが利用可能な場合は、Service name、[IP アドレス]、または Application name であいまい検索を実行できます。
Service details パネルで、Basic Information、[サービスプロバイダー]、[サービスコンシューマー]、Interface metadata、および Metadata Metadata を表示します。
Swagger アノテーションが使用されている場合、関連情報は [メソッド名/説明] 列と [パラメーター/説明] 列に表示されます。