【Strapi】如何在 Strapi 複製整支 API ?

手動複製 API 文件


重點

  1. 直接到 src > admin 複製 API 的整個資料夾

  2. 接著把檔案 rename(如下圖所示)

    Snipaste_2024-10-26_20-55-25.jpg

    1. API 資料夾名稱
    2. content-types
    3. controller
    4. routes
    5. services

實作

要注意 schema 的命名規則,以及要修改的地方

  • src/api/{API_ROUTE_NAME}/content-types/{API_ROUTE_NAME}/schema.json

    • collectionName
    • attribute
    • 有 relation 作「連動的 API」,也要一起改
  • sample schema.json

    { "kind": "collectionType", "collectionName": "curly_chu_articles", // 這個是用 _ 連接的 name "info": { // 用 - 串接 "singularName": "curly-chu-article", "pluralName": "curly-chu-articles", // 複數 "displayName": "curly-chu-article", "description": "" }, //... "attributes": { // 用 _ 連接去命名 or 其他命名規則(不能用 - ) "curly_chu_article_tags": { "type": "relation", "relation": "oneToMany", "target": "api::curly-chu-article-tag.curly-chu-article-tag" // 其他 API }, "related_curly_chu_articles": { "type": "relation", "relation": "oneToMany", "target": "api::curly-chu-article.curly-chu-article", "mappedBy": "curly_chu_article" }, "curly_chu_article": { "type": "relation", "relation": "manyToOne", "target": "api::curly-chu-article.curly-chu-article", "inversedBy": "related_curly_chu_articles" }, //... } }

REF

  • 自己研究出來的結果