APIとは
APIとは、"Application Programming Interface"の頭字語であり、単に通信するためのルールを定めるものです。主な役割は、エンドポイントからデータを取得し、必要に応じてフォーマットし表示させることです。
Drupalでは、APIはデフォルトのコアモジュールであるRESTful Web ServicesとViewsを通じて作成/変更することができます。このモジュールは、エンティティやその他のリソースをRESTful Web APIとして公開し、Serializationモジュールにより、お好みに応じて異なるフォーマットを選択することができます。
では、これまでにご紹介したことを踏まえ、APIを構築してみましょう。
1. Drupalの Extend (/admin/modules) ページで、Webサービスの下にあるRESTful Web APIとSerializationモジュールを有効にします。
2. Views (/admin/structure/views) に移動し、「My Custom API」という名前の新しいビュー構成を作成し、レンダリングするコンテンツ/タクソノミーのタイプを選択します。
3. ビューページのまま、「REST export settings」の下にある「Provide a REST export」のチェックボックスにチェックを入れてください。チェックボックスがオンになると、「REST export path」という別の入力フィールドが表示されます。このフィールドは、Views custom APIのURLパスを決定します。この例では、単に「my_custom_api」として設定し、「Save and Edit」をクリックします。
4. 保存した後、「Format」の下の「Serializer」の横にある「Settings」を編集し、この例では「json」を選択します。
注:必要に応じて、他のフォーマットを選択することもできます。
5. 次に、表示させたい内容を選択します。「Format」セクションの下にある「Entity」をクリックし、この例では「Fields」を選択して、「Apply」をクリックします。
注:必要に応じて、他のフォーマットを選択することもできます。
6. 「Fields」を選択した後に表示されるデフォルトのフィールドは「Title」です。「Link to the Content」のチェックボックスを外すことで、タイトルからノードへのリンクを削除し、「Apply」をクリックします。
7. ここまで来ればゴールは目前です!すべての設定が完了したら、表示するフィールドを追加するかどうかはあなた次第です。この例では、最初にビューを追加するときに選択したコンテンツ内のすべての「Title」を表示するだけです。ビュー構成は以下のようになります。
8. 最後のステップは、上記のビュー設定を使用して作成したカスタムAPIをテストすることです。これをテストするには、先に「REST export path」で指定したパス、つまり「my_custom_api」にアクセスするだけです。URLパスは次のようになります: [scheme://host]/my_custom_api
最終的に、以下のようなカスタムAPIから生成されたJSON値が得られます。
ということで、RESTful Viewsを使用すれば、簡単に特定の形式でAPIを作成/変更できるのです!