Headless CMS の Strapi をインストールからAPIエンドポイント作成

Headless CMS の Strapi をインストールからAPIエンドポイント作成

2023-03-123 min read

目次

  1. 概要
  2. starpi-について
  3. 環境
  4. インストール手順
  5. コレクションを作成する
  6. field-の追加
  7. api-として公開する
  8. 参考

概要

Strapi - Open source Node.js Headless CMS 🚀

本記事では、OSS の Headless CMS である Strapi を使用して、API を構築した際の記録です。

  1. Strapi のインストール
  2. コレクションタイプの作成
  3. フィールドの作成
  4. コレクションタイプを API として公開する
  5. API の動作確認

starpi について

環境

  • node: 18
    • 19 で動かしたらエラーとなりました

インストール手順

  1. Strapi をグローバルにインストールするために、以下のコマンドを実行します。
npm install -g strapi

もしくは

yarn global add strapi
  1. Strapi アプリケーションを作成するために、以下のコマンドを実行します。
strapi new my-project

my-project の部分は任意のプロジェクト名に置き換えてください。

  1. プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
cd my-project
npm run develop

もしくは

cd my-project
yarn develop

これにより、Strapi が起動し、 http://localhost:1337 でアクセスできるようになります。

コレクションを作成する

次に、コレクションを作成します。 コレクションは、API エンドポイントに対応するデータベースのテーブルのようなものです。 API に公開したい情報に対応するコレクションを作成します。

  1. Strapi 管理画面にログインし、左側のサイドバーから「COLLECTION TYPES」を選択します。

  2. 「COLLECTION TYPES」のページで、「Create new collection type」ボタンをクリックして、新しいコレクションを作成します。

  3. コレクションの名前を入力し、必要に応じて他のオプションを設定します。

  4. 設定を保存すると、新しいコレクションが作成され、管理画面から使用できるようになります。

またオプションでは次のような設定が利用できます。

COLLECTION TYPES の設定であるコレーションタイプ(collation type)は、以下のオプションを持っています。

  • BASIC SETTINGS:
    • Name: コレクションタイプの名前を入力します。この名前は、管理画面で表示されるための名前です。
    • Displayed name: コレクションタイプの表示名を設定します。この表示名は、フロントエンドの画面で表示される名前として使用されます。
    • API ID (Singular): API において、単数形で使用される識別子を設定します。
    • API ID (Plural): API において、複数形で使用される識別子を設定します。
  • ADVANCED SETTINGS:
    • Draft & publish: コレクションタイプに対して、下書き機能や公開機能を有効にするかどうかを設定します。
    • Internationalization: コレクションタイプに対して、複数言語に対応するための設定を行います。この設定を有効にすると、複数の言語でコンテンツを作成することができます。

Field の追加

  1. コレクションを開き、左のサイドバーから「Builder」を選択します。
  2. ページ上部の「Add another field」を選択します。
  3. 追加するフィールドのタイプを選択します。例えば、テキストフィールド、画像フィールド、タグフィールド、日付フィールドなどがあります。
  4. フィールドに名前を付けます。例えば、タイトル、本文、画像など。
  5. 必要に応じてフィールドに説明を追加できます。
  6. オプションで、フィールドのタイプに応じて、検証ルールを設定できます。例えば、必須フィールド、特定の形式のみを許可する、最大文字数など。
  7. 「Save」ボタンをクリックして、フィールドを追加します。
  8. もし必要なら、フィールドの表示順序を変更することもできます。「Builder」タブで、フィールドをドラッグアンドドロップして、並び順を変更します。
  9. 全ての変更が完了したら、「Save」ボタンをクリックして、コレクションを保存します。

API として公開する

  1. 「Roles & Permissions」から、新規ロールを作成します。
  2. 「Users」から、API を使用するユーザーを作成し、先に作成したロールを割り当てます。
  3. 「Settings」→「Users & Permissions」→「Roles」で先程作成したロールを選択し、「Permissions」タブで、「Application」→「plugins」→「users-permissions」→「controllers」→「auth」→「auth.js」を選択して、「find」、「findone」、「count」の権限を許可します。
  4. 「Settings」→「Users & Permissions」→「Roles」で先程作成したロールを選択し、「Permissions」タブで、先程作成したコレクションの API エンドポイントの権限を許可します。
  5. 「Content-Type Builder」から、先程作成したコレクションの API を有効にします。

これで API エンドポイントを利用して、コレクションのデータを取得、作成、更新、削除などができます。

詳細は公式ドキュメントをご覧ください。

参考

Tags
javascript(110)
node.js(54)
linux(54)
amazon%20aws(47)
typescript(45)
%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0(36)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86(30)
html5(29)
php(24)
centos(24)
python(22)
%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0(21)
mac(21)
mysql(20)
canvas(19)
opencv(17)
%E9%9B%91%E8%AB%87(16)
docker(16)
wordpress(15)
atcoder(14)
apache(12)
%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92(12)
%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9(12)
amazon%20s3(12)
red%20hat(12)
prisma(12)
ubuntu(11)
github(10)
git(10)
vue.js(10)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF(10)
mariadb(10)
react(9)
aws%20cdk(9)
css3(8)
%E5%8F%AF%E8%A6%96%E5%8C%96(8)
%E5%B0%8F%E3%83%8D%E3%82%BF(8)
nestjs(8)
amazon%20lightsail(7)
next.js(7)
%E3%83%96%E3%83%AD%E3%82%B0(6)
cms(6)
oracle(6)
perl(6)
gitlab(6)
iam(5)
amazon%20ec2(5)
%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93(5)
aws%20amplify(5)
curl(4)
Author
githubzennqiita
ただの備忘録です。

※外部送信に関する公表事項