Drupal8ではheadless Drupalという話題もあるように、簡単にREST APIを定義できる機能があります。
RESTful Web ServicesREST UI の2つのモジュールを利用し、GUIよりREST APIを定義する方法をご説明します。

  1. REST UI モジュールのダウンロード

    REST UI モジュールはコアに組み込まれていない為、ダウンロードする必要があります。

  2. RESTful Web ServicesREST UI モジュールの有効化

    APIを提供する RESTful Web Services モジュールとGUIよりREST APIの設定を行う REST UI モジュールを有効化します。

    RESTUI_1.png

  3. REST API の設定

    モジュールを有効化すると、環境設定のウェブサービスに「REST」という項目が現れます。

    RESTUI_2.png

    REST resources画面では、以下のようにAPIとして利用可能な一覧が表示されます。

    RESTUI_3.png

  4. ユーザ情報取得APIの利用

    今回はユーザー情報を取得するAPIを試してみます。
    まず、APIを有効化し受け付けるメソッドは GET 受け付けるリクエスト形式は json 認証は cookie を選択します。

    RESTUI_4.png

    有効化するとRESTの一覧の 有効 に先ほど設定した内容が表示されます。
    設定は以上で終わりです。GUIで設定可能なので、簡単ですね!

    RESTUI_5.png

    実際にAPIを叩いてみると、以下のようにJSONが取得できます。
    URLは http://example.com/user/1?_format=json という形式になります。(_format=json のGETパラメータを忘れるとエラーになりますので注意しましょう)

    RESTUI_6.png

簡単ですが、以上がDrupal8でのREST API入門になります。
GUIよりクリックするだけでユーザやノード等がJSONで取得可能になるので、非常に便利かと思います。

ただし、上記設定の場合細かいカスタマイズ(特定の項目を非表示にしたり、項目が1つのものは配列化しないようにしたり…)は出来ないため
次回はRESTful Web Servicesを利用したカスタムモジュールを作成し、カスタマイズしたAPIを作成したいと思います。


共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。