Headless CMS の Strapi をインストールからAPIエンドポイント作成
2023-03-123 min read
目次
概要
Strapi - Open source Node.js Headless CMS 🚀
本記事では、OSS の Headless CMS である Strapi を使用して、API を構築した際の記録です。
- Strapi のインストール
- コレクションタイプの作成
- フィールドの作成
- コレクションタイプを API として公開する
- API の動作確認
starpi について
環境
- node: 18
- 19 で動かしたらエラーとなりました
インストール手順
- Strapi をグローバルにインストールするために、以下のコマンドを実行します。
npm install -g strapi
もしくは
yarn global add strapi
- Strapi アプリケーションを作成するために、以下のコマンドを実行します。
strapi new my-project
my-project
の部分は任意のプロジェクト名に置き換えてください。
- プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
cd my-project
npm run develop
もしくは
cd my-project
yarn develop
これにより、Strapi が起動し、 http://localhost:1337
でアクセスできるようになります。
コレクションを作成する
次に、コレクションを作成します。 コレクションは、API エンドポイントに対応するデータベースのテーブルのようなものです。 API に公開したい情報に対応するコレクションを作成します。
-
Strapi 管理画面にログインし、左側のサイドバーから「COLLECTION TYPES」を選択します。
-
「COLLECTION TYPES」のページで、「Create new collection type」ボタンをクリックして、新しいコレクションを作成します。
-
コレクションの名前を入力し、必要に応じて他のオプションを設定します。
-
設定を保存すると、新しいコレクションが作成され、管理画面から使用できるようになります。
またオプションでは次のような設定が利用できます。
COLLECTION TYPES の設定であるコレーションタイプ(collation type)は、以下のオプションを持っています。
- BASIC SETTINGS:
- Name: コレクションタイプの名前を入力します。この名前は、管理画面で表示されるための名前です。
- Displayed name: コレクションタイプの表示名を設定します。この表示名は、フロントエンドの画面で表示される名前として使用されます。
- API ID (Singular): API において、単数形で使用される識別子を設定します。
- API ID (Plural): API において、複数形で使用される識別子を設定します。
- ADVANCED SETTINGS:
- Draft & publish: コレクションタイプに対して、下書き機能や公開機能を有効にするかどうかを設定します。
- Internationalization: コレクションタイプに対して、複数言語に対応するための設定を行います。この設定を有効にすると、複数の言語でコンテンツを作成することができます。
Field の追加
- コレクションを開き、左のサイドバーから「Builder」を選択します。
- ページ上部の「Add another field」を選択します。
- 追加するフィールドのタイプを選択します。例えば、テキストフィールド、画像フィールド、タグフィールド、日付フィールドなどがあります。
- フィールドに名前を付けます。例えば、タイトル、本文、画像など。
- 必要に応じてフィールドに説明を追加できます。
- オプションで、フィールドのタイプに応じて、検証ルールを設定できます。例えば、必須フィールド、特定の形式のみを許可する、最大文字数など。
- 「Save」ボタンをクリックして、フィールドを追加します。
- もし必要なら、フィールドの表示順序を変更することもできます。「Builder」タブで、フィールドをドラッグアンドドロップして、並び順を変更します。
- 全ての変更が完了したら、「Save」ボタンをクリックして、コレクションを保存します。
API として公開する
- 「Roles & Permissions」から、新規ロールを作成します。
- 「Users」から、API を使用するユーザーを作成し、先に作成したロールを割り当てます。
- 「Settings」→「Users & Permissions」→「Roles」で先程作成したロールを選択し、「Permissions」タブで、「Application」→「plugins」→「users-permissions」→「controllers」→「auth」→「auth.js」を選択して、「find」、「findone」、「count」の権限を許可します。
- 「Settings」→「Users & Permissions」→「Roles」で先程作成したロールを選択し、「Permissions」タブで、先程作成したコレクションの API エンドポイントの権限を許可します。
- 「Content-Type Builder」から、先程作成したコレクションの API を有効にします。
これで API エンドポイントを利用して、コレクションのデータを取得、作成、更新、削除などができます。
詳細は公式ドキュメントをご覧ください。
参考
Recommends
New Posts
Hot posts!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author