メインコンテンツに移動
ホーム

古松

メインナビゲーション

  • ホーム
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Drupal8のRESTful Web Service 2: GETメッソドでコンテンツ取得

Drupal8のRESTful Web Service 2: GETメッソドでコンテンツ取得

Druapl8のRESTモジュール有効化(Drupal8のRESTful Web Service 1:インストール、セットアップ )後に当然テストを行います。ここで、一番簡単なテストがGETメッソドでコンテンツを取得します

テスト用のコンテンツを用意

  • ここで、テスト用のNodeエンティティタイプから、install_resultバンドルを新規作成しますNodeタイプに新しいバンドル
    • Bodyフィールドを削除
    • Area、Region、Shop、Statusのテキストフィールドを追加
  • 新規作成したバンドル(Install Result)にコンテンツを追加します
    簡単なコンテンツの作成

コンテンツ参照権限が匿名ユーザーもあることの確認

  • もしコンテンツの参照権限が匿名ユーザーがなければ、GETメッソドを利用する際に、参照権限があるユーザーの認証が必要となります
  • ここで、コンテンツ参照権限が匿名ユーザーもあることを前提にします
  • ユーザー権限確認画面(ホーム >> 管理 >> ユーザー >> 権限)で「公開されたコンテンツを読む」権限が匿名ユーザーもあることを確認します
    コンテンツの参照権限

RESTのGETメッソドでコンテンツを取得

  • RESTful Clientのようなツールを使用して、GETメッソドに以下のようなURLを入力します
    • http://localhost/drupal8/node/1?_format=hal_json
  • ここで、重要なポイントはコンテンツのフォーマットを指定することです
    • フォーマットの指定がなければ、このコンテンツのHTMLソースが取得されます
    • フォーマット: _format=hal_json <= HAL+json フォーマットとなります
    • フォーマット:_format=json  <= json のみとなります
  • 取得された結果は以下のようなもの
    {
      "_links": {
        "self": {
          "href": "http:\/\/localhost\/drupal8\/node\/1?_format=hal_json"
        },
        "type": {
          "href": "http:\/\/localhost\/drupal8\/rest\/type\/node\/install_result"
        },
        "http:\/\/localhost\/drupal8\/rest\/relation\/node\/install_result\/revision_uid": [{
          "href": "http:\/\/localhost\/drupal8\/user\/1?_format=hal_json"
        }],
        "http:\/\/localhost\/drupal8\/rest\/relation\/node\/install_result\/uid": [{
          "href": "http:\/\/localhost\/drupal8\/user\/1?_format=hal_json",
          "lang": "ja"
        }]
      },
      "nid": [{
        "value": 1
      }],
      "uuid": [{
        "value": "1a59c1f7-3484-4f65-8566-e6a6de6228eb"
      }],
      "vid": [{
        "value": 1
      }],
      "langcode": [{
        "value": "ja",
        "lang": "ja"
      }],
      "type": [{
        "target_id": "install_result"
      }],
      "revision_timestamp": [{
        "value": "2018-10-25T01:47:44+00:00",
        "format": "Y-m-d\\TH:i:sP"
      }],
      "_embedded": {
        "http:\/\/localhost\/drupal8\/rest\/relation\/node\/install_result\/revision_uid": [{
          "_links": {
            "self": {
              "href": "http:\/\/localhost\/drupal8\/user\/1?_format=hal_json"
            },
            "type": {
              "href": "http:\/\/localhost\/drupal8\/rest\/type\/user\/user"
            }
          },
          "uuid": [{
            "value": "3eac2e61-eb06-4ee9-adc4-b7e6ed112f12"
          }]
        }],
        "http:\/\/localhost\/drupal8\/rest\/relation\/node\/install_result\/uid": [{
          "_links": {
            "self": {
              "href": "http:\/\/localhost\/drupal8\/user\/1?_format=hal_json"
            },
            "type": {
              "href": "http:\/\/localhost\/drupal8\/rest\/type\/user\/user"
            }
          },
          "uuid": [{
            "value": "3eac2e61-eb06-4ee9-adc4-b7e6ed112f12"
          }],
          "lang": "ja"
        }]
      },
      "status": [{
        "value": true,
        "lang": "ja"
      }],
      "title": [{
        "value": "downloaded",
        "lang": "ja"
      }],
      "created": [{
        "value": "2018-10-25T01:46:42+00:00",
        "lang": "ja",
        "format": "Y-m-d\\TH:i:sP"
      }],
      "changed": [{
        "value": "2018-10-25T01:47:44+00:00",
        "lang": "ja",
        "format": "Y-m-d\\TH:i:sP"
      }],
      "promote": [{
        "value": true,
        "lang": "ja"
      }],
      "sticky": [{
        "value": false,
        "lang": "ja"
      }],
      "default_langcode": [{
        "value": true,
        "lang": "ja"
      }],
      "revision_translation_affected": [{
        "value": true,
        "lang": "ja"
      }],
      "path": [{
        "alias": null,
        "pid": null,
        "langcode": "ja",
        "lang": "ja"
      }],
      "field_area": [{
        "value": "123"
      }],
      "field_region": [{
        "value": "abc"
      }],
      "field_shop": [{
        "value": "002"
      }],
      "field_status": [{
        "value": "done"
      }]
    }

    RESTClientでコンテンツ取得

Drupal8のRESTful Web Service 1:インストール、セットアップ

Drupal8(version: 8.6.2)がRESTful Web Serviceモジュールをコアーモジュールとして収録しています。Drupal8がインストール後にすぐにRESTfulの利用が出来ます。

REST UIモジュールのインストール

  • REST APIの操作を簡単にするため、REST UIモジュールをインストールします

  • REST UIモジュールを有効化します
    RESTモジュール

  • REST管理画面(ホーム >> 管理 >> 環境設定 >> ウェブサービス >> RESTリソース)を開くと、ノード(node)タイプのコンテンツがRESTの利用が初期有効化されています
    RESTの管理画面

    • パス:/node/{node} → GET、PATCH、DELETE、 /node → POST

    • 認証: basic_auth, cookie

  • ユーザー(User)、タクソノミー(Taxonomy)などのタイプをREST Web Serviceを有効可することもできます

ツール(例:RESTful Client)を用いてRESTのテストを行います

  • Chrome、FirefoxなどのブラウザにRESTful Clientプラグインを導入すれば、RESTのテストが出来ます
  • ここで、FirefoxのRESTClientプラグインをインストールして、テストを行います
    REST client プラグイン
  • テスト目的に合わせて、ヘッダ、プロトコールなどを適切に設定する必要があります

検索フォーム

カテゴリ別

  • laravel
  • drupal
  • javascript
  • windows
  • html
  • mysql
  • php
  • apache
  • css
  • SEO
  • video
  • wordpress
  • linux
  • python
  • Electron
  • Visual Studio Code

google ads