SlideShare ist ein Scribd-Unternehmen logo
1 von 33
RESTを使ってDRUPAL8の
NODE情報を取得してみた
ナカちゃん
はじめに
■ DrupalはRESTをサポートしているらしい。
– じゃあやってみようじゃないか
■ 自分が試した事の情報共有です。
– ( ´_ゝ`)フーン・・・って感じで見ていただけると僥倖。
■ Drupal8に関する知識(カスタムモジュールやviewなど)が必要です。
REST?
■ RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソ
フトウェアを連携させるのに適した設計原則の集合。また、狭義には、それを
Webに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いら
れることがほとんどである。
■ 今回はRESTの知識は重要ではないので、
“何がしかのデータをHTTP(S)経由で取得するための手段”
ぐらいのざっくりした理解でOKです。
■ いやRESTって取得だけじゃないよね?的なツッコミをくらいそうですが、ス
ルーします
http://e-words.jp/w/REST.htmlより引用
まずはbetterな方法
■ RESTfulWeb Servicesモジュールを使う
– Drupal8をインストールするともれなくついてきます。
※管理者メニューの「機能拡張」画面です
インストールするよ!
■ 件のモジュールと、それからRESTUIモジュールをインストール
– REST UIモジュールはRESTに関する設定をUIで行うことができるようになるモ
ジュールです。(とりあえず入れておくことをお勧めします)
インストールするよ!
■ 依存モジュールもインストール
インストールするよ!
■ インストール完了後、管理者メニューの「環境設定」>「REST」を表示させる。
インストールするよ!
■ 有効化したいリソース(今回はひとまずnodeを対象にする)を選択してリソー
スの設定画面を表示
インストールするよ!
■ GETメソッドのみ許可し、データはJSONで返すようにしてみる。
インストールするよ!
■ 有効化OK
使ってみるよ!
■ まずは記事(article)を新しく作成。
– http://xxx.xxx.xxx.xxx/node/15
使ってみるよ!
■ Chrome Restlet Client を使ってデータを取得
先ほど作成したnodeのnid
使ってみるよ!
■ node情報が取れた。
で、
nodeの一覧情報とかは取れないの?
(nid一覧とか取りたいんだけど・・・)
できるよ!
■ viewを使いましょう。
– View作成時にREST出力を提供するかどうか選ぶことができます。
できるよ!
■ viewを使いましょう。
– あとから追加も可能
作ってみるよ!
■ まずはviewを追加。
・
・
・
例として「記事」を対象にし
たviewとする。
/rest/article
をエクスポートパスとする
作ってみるよ!
■ 設定を変更
データはJSON形式で返すよう
にする
作ってみるよ!
■ 設定を変更
ひとまず「cookie」にチェックしておく。
※認証メソッドが選択されていない状態
だとRESTを利用できない
作ってみるよ!
■ フィールド(=JSONとして吐き出せるデータ)を追加して、設定完了。
試してみるよ!
■ Chrome Restlet Client を使ってデータを取得
エンドポイントは
サイトURL+エクスポートパス
になる
試してみるよ!
■ 一覧情報(nidとtitle)が取れた
ここからは応用編です。
extra1
■ パスの一部をパラメータとして受け取って、絞り込みを行ってみる。
– コンテクスチュアルフィルターを使えばOK
nidによる絞り込み
/rest/article/{nid}となるようなパスを想定
extra1
■ データ取得(全取得)
– http://xxx.xxx.xxx.xxx/rest/article/all?_format=json
※”all”はすべてのnidにマッチするワイルドカードのようなものです。
extra1
■ データ取得(特定のnode)
– http://xxx.xxx.xxx.xxx/rest/article/15?_format=json
extra2
■ データをネストさせてみる。
– カスタムモジュールのインストールが必要
・REST Export Nested(https://www.drupal.org/project/rest_export_nested)
※security advisory policyに準拠していないため、使用時はその点に注意。
・Views FieldView(https://www.drupal.org/project/views_field_view)
extra2
■ 設定例
REST export nestedというディスプレイを選ぶ
と、ネストした JSONに対応できるようになる
extra2
■ 設定例
他のview(RestExport)を含める事ができる
この部分がネストされて出力されることになる
extra2
■ ちなみに、先ほどのviewで記載している”他のview”の設定は以下のとおりです。
extra2
■ データ取得
– http://xxx.xxx.xxx.xxx/rest/article_nest/15?_format=json
以上です。
■ ありがとうございました。

Weitere ähnliche Inhalte

Mehr von iPride Co., Ltd.

AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
 

Mehr von iPride Co., Ltd. (20)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
 
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
 
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
 
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものですAWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
 
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
 
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
 
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
 
OpenID Connectについて
OpenID ConnectについてOpenID Connectについて
OpenID Connectについて
 
画像生成AIの問題点
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
 
AI入門
AI入門AI入門
AI入門
 

RESTを使ってDRUPAL8のNODE情報を取得してみた