【Strapi】如何在 Strapi 複製整支 API ?
手動複製 API 文件
2024/10/26
重點
-
直接到 src > admin 複製 API 的整個資料夾
-
接著把檔案 rename(如下圖所示)
- API 資料夾名稱
- content-types
- controller
- routes
- 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
- 自己研究出來的結果