Liferay DXPのヘッドレスREST APIはOpenAPI仕様に準拠しており、アプリがRESTful Webサービスを使用できるようになっています。さらに、Liferay DXPのUIに長期的に縛られることなく、これらのAPIを消費することができます(そのため、ヘッドレスです)。これにより、アプリの設計と開発をする際にかなりの自由が利きます。
このセクションの記事では、Liferay DXPのヘッドレスREST APIをナビゲートおよび使用する方法について説明します。まず最初に、APIの設計アプローチについて解説します。
APIのボキャブラリ
APIを定義する際、開発者はリソースの表示を公開する方法を決定する必要があります。これにより、APIの使いやすさと進化の方法が決まります。 従来からのアプローチには、以下の2通りがあります。
**コントラクトラスト:**コードが最初に記述され、機能はWebまたはRESTサービスとして公開されます。通常、ビジネスロジックを実装して公開するだけなので、このアプローチは開発者にとって簡単です。 Service Builderは、このタイプに当てはまります。
**コントラクトファースト:**クライアントサーバーのメッセージ構造が、サービスを実装するコードの前に記述されます。このようなメッセージは、コードから独立して定義されます。これにより、密結合が回避され、APIの進化に伴ってクライアントが破損する能性が低くなります。
Liferay DXPのヘッドレスWeb APIは、この両方のアプローチを組み合わせて使用しています。OpenAPIのプロファイルは、コードを記述する前にパスとスキーマを定義することにより、コントラクトファーストアプローチを使用しています。それから、コード作成におけるコードラストの特性(Service Builderなど)を使用し、プロファイルに基づいてAPIを自動的に作成します。これにより、開発者は迅速に開発を行うことができます。
この混合アプローチは両者の長所を提供し、意識的なAPI設計のステップを可能にし、実装するビジネスロジックのみを公開することで、開発エクスペリエンスを簡素化します。
OpenAPIのプロファイルを作成する際、主にクライアントサーバーのメッセージがAPIのリソースを表現する方法を定義することに焦点を当てる必要があります。つまり、まずはAPIのスキーマが定義され、属性、リソース、および操作に名前が付けられて、それらが表すものとその使用方法が明確に定義されることになります。