はじめに:APIの検出

Webサービスの使用を開始するには、まずサービスの場所(例: サービスカタログ)、呼び出すことができる操作、および呼び出し方法を把握しておく必要があります。 Liferay DXPのヘッドレスREST APIではOpenAPI(元々は、Swaggerとして知られていました)を活用するため、サービスカタログは必要ありません。APIの残りの部分を検出する、OpenAPIプロファイルさえ分かっていたら大丈夫です。

Liferay DXPのヘッドレスAPIは、SwaggerHub(https://app.swaggerhub.com/organizations/liferayinc)で入手できます。 各APIには、SwaggerHub内に独自のURLがあります。たとえば、https://app.swaggerhub.com/apis/liferayinc/headless-delivery/v1.0では配信APIの定義にアクセスできます。

また、各OpenAPIのプロファイルは、以下のスキーマに従って、ポータルインスタンスにも動的にデプロイされます。

http://[host]:[port]/o/[insert-headless-api]/[version]/openapi.yaml

たとえば、8080番ポートでLiferay DXPをローカルで実行している場合、ヘッドレス配信APIを検出するためのホームURLは以下のとおりです。

http://localhost:8080/o/headless-delivery/v1.0/openapi.yaml

このURLにアクセスするには、ログインする必要があります。あるいは、Basic認証およびブラウザを使用したり、PostmanAdvanced REST Clientなどのその他ツール、またはシステムコンソールのcurlコマンドを使用する必要があります。

分かりやすくするために、このドキュメンテーションの例ではcurlコマンドを使用し、8080番ポートでローカルに実行されているLiferay DXPインスタンスに要求を送信します。

以下のcurlコマンドを実行して、ホームURLにアクセスします。

curl http://localhost:8080/o/headless-delivery/v1.0/openapi.yaml -u test@liferay.com:test

すると、以下のような応答が返されます。

openapi: 3.0.1
info:
  title: Headless Delivery
  version: v1.0
paths:
  /v1.0/blog-posting-images/{blogPostingImageId}:
    get:
      tags:
      - BlogPostingImage
      operationId: getBlogPostingImage
      parameters:
      - name: blogPostingImageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlogPostingImage'
(...)

この応答はOpenAPI 3.0の構文に従って、返されるAPIとスキーマのエンドポイント(URL)を指定しています。また、Swagger EditorなどのOpenAPIエディタでOpenAPIのプロファイルを開くこともできます。 このエディタを使用して、ドキュメンテーションとパラメータを検査し、APIにリクエストを送信できます。

他にも、クライアントジェネレーターや、バリデータ、パーサなど、OpenAPIをサポートするツールは多数あります。ツールのリストについては、OpenAPI.Toolsを参照してください 。OpenAPIを活用することで、標準サポート、豊富なドキュメンテーション、および業界全体の規則が提供されます。

関連トピック

Get Started: Invoke a Service

« ヘッドレスREST APIはじめに:サービスの呼び出し »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています