开始使用Strapi API CMS
Strapi是一个开源的无头CMS,用于构建用JavaScript编写的快速和易于管理的API。它使开发者能够使用一个漂亮的用户界面轻松地做出灵活的API结构。
Strapi可以与各种数据库一起使用,包括MongoDB、PostgreSQL等。
先决条件
要跟上本教程,你需要[对REST APIs有一定的了解]。你还需要[Postman]来测试API端点。
在本教程中,我们将。
- 使用Strapi创建一个API。
- 使用Postman测试CRUD API端点。
让我们开始吧。
第1步 - 安装Node.js和Yarn
要创建一个Strapi项目,你至少需要在你的机器上安装Node.js 14。如果你运行在Windows或Mac上,前往[下载页面]获取Node.js安装程序。
如果你在Linux上运行,打开一个终端窗口,运行以下命令来安装Node.js 14。
$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs
我们将使用[Yarn包管理器]来创建Strapi项目。打开一个新的终端窗口,运行以下命令来安装Yarn。
$ npm install --global yarn
第2步 - 创建Strapi项目
让我们创建一个文件管理器API来演示Strapi的基本用法。在终端上运行下面的命令。
$ yarn create strapi-app file-manager --quickstart
请耐心等待,因为这个命令需要一些时间来执行。
Strapi默认使用一个SQLite数据库。要使用其他数据库来设置Strapi,例如MongoDB或PostgreSQL,请从上述命令中删除
--quickstart标志。
该命令创建了一个包含项目文件和目录的新文件夹file-manager 。它还将你的Strapi放在http://localhost:1337/admin。

在你可以使用新创建的Strapi之前,你需要创建一个管理员。填写并提交表格来创建一个。
第3步 - 创建FILES集合
Strapi集合提供了一种创建对象模板的方法。它的作用就像面向对象编程中的一个类。
让我们创建一个file 项目(集合),包含一个名称和描述字段。
- 从侧边栏点击[Content-Type Builder]。
- 然后,点击COLLECTION TYPES下的Create new collection type。

- 在显示名称下输入
Files,然后点击Continue。 - 点击文本字段,在名称下输入
name。 - 在ADVANCED SETTINGS选项卡中选中
Required field和Unique field。 - 点击添加另一个字段。
- 选择 "富文本"并在 "名称"栏中输入
description。然后点击完成。 - 点击 "保存"以保存集合,并等待服务器重新启动。
第4步 - 创建TYPES集合
让我们在file 项目中添加另一个字段:type 字段。这个字段将表明文件的类型。例如,文档、视频、音频等。
为了看看我们如何做到这一点,我们将创建另一个集合类型。
- 前往 "内容类型生成器",点击 "创建一个新的集合类型"。
- 在显示名称下输入
Type,然后点击继续。 - 点击文本字段,在名称下输入
name。 - 在ADVANCED SETTINGS选项卡中选中
Required field和Unique field,然后点击Finish。 - 单击 "保存"以保存该集合。
- 导航到**Content-Type Builder > COLLECTION TYPES > Files并点击ADD ANOTHER FIELD TO THIS COLLECTION TYPE**。
- 选择 "关系"字段。
- 在右边的下拉菜单中,选择
Type。然后选择关系,读作File has one Type。

点击完成,然后保存该集合。
第5步 - 将数据添加到集合中
- 在左侧菜单中导航到类型,并点击添加新类型。
- 在名称字段下输入
Document,然后点击保存。 - 在左边的菜单中导航到文件,并点击添加新文件。
- 在名称下输入
statement.pdf,在描述下输入Your monthly spending。 - 从类型下拉菜单中选择
Document,然后点击保存。
随意添加其他项目到你的集合。
第6步 - 发布你的内容
为了发布你的集合,你需要允许对这些特定的集合进行CRUD操作。让我们发布Files 和Types 集合。
-
点击公共。
-
向下滚动到权限>应用下的文件和类型,并选中以下复选框。
操作 描述 create用于添加单个项目 find获取所有项目 findone获取一个单一项目 update更新一个项目 delete删除一个单独的项目 -
点击保存。
-
导航到
statement.pdf和Document并点击发布。

现在你可以在http://localhost:1337/files 和 http://localhost:1337/types 上访问你的集合。
第7步 - 测试端点
检索一个集合中的项目
打开Postman,向http://localhost:1337/files 发出GET 请求,如下图所示。该端点返回一个你添加到Files 集合中的项目的列表。

同样地,你可以通过对http://localhost:1337/types 进行GET来获得Type 集合中的项目列表。
检索单个项目
对http://localhost:1337/files/1 的GET请求将返回ID为1 的file 。

同样地,对http://localhost:1337/types/1 的GET请求将返回id为1 的type 。
创建一个项目
对http://localhost:1337/files/ 的POST请求将在Files 集合中创建一个新条目。在POST请求成功后,端点会返回创建的对象,如下图所示。

同样地,对http://localhost:1337/types 的POST请求将在Types 集合中创建一个新条目。
更新一个项目
对http://localhost:1337/files/2 的PUT请求将更新ID为2 的file 。端点在成功的PUT请求中返回更新的对象,如下图所示。

删除一个项目
向DELETE 请求将删除id为2 的条目。
试图再次点击同一个端点将返回文本Not Found 。

接下来的步骤
有了这些集合,你现在就可以使用你强大的前端来消费你的API了。Strapi为一些前端框架提供集成,如Vue.js、Angular、React等。
总结
在提高生产力方面,Strapi是一个非常酷和棒的工具。它减少了开发者必须编写和管理的代码量。Strapi使开发者能够使用一个易于使用的界面建立一个强大的后端。请随意玩转Strapi。