不会后端不用愁,Strapi解你忧——前端使用Strapi就能实现常见的数据增删查改,分页、排序、模糊查询、时间范围等,不要后端也能自己建站
AI的时代,没什么不可能,如果以前觉的自己是前端,离开后端不能自己建站,那么现在借住AI,利用现有的CMS系统,轻松掌握独立建站技术。
无论是常规的数据增删查改,还是分页、排序、模糊查询,亦或是表链接查询,都能通过Strapi轻松实现。
当然,如果你略懂SQL命令,略懂数据库相关知识,那就更简单了,分分钟掌握!
接下来介绍一些常规的API调用。
首先,您需要安装一个调试API的工具,推荐Postman,后端必备,用起来也顺手。
下载地址:Download Postman | Get Started for Free

Postman安装好,启动Strapi项目,就能愉快的体验数据的增删查改了。
为了方便查询数据,我们需要在Strapi创建一个新的表,比如Pages,添加数据字段name/description,然后添加几条示例数据,就可以使用Strapi提供的API语句进行查询了。
1)左侧菜单导航点击 Content-Type Builder ,进入页面后点击 COLLECTION TYPES 右侧的'+"图标:

2)建立集合型别的弹窗中填写页面字段名称(英文,首写字母最好大写,调用API的URL中会用到这个字段),让然后点击弹窗有下家“继续”按钮

数据表创建好了,点击界面中的“+新增栏位” 按钮就可以添加数据表的相关字段了。

3)添加一个 Text 字段

4)填写字段名称 name,类型选择短字段,然后点完成即可。

5)再来添加一个 Rich text (Blocks) 类型的字段,命名为 Description

Pages数据表就创建好了,目前有两个字段,一个页面标题 name ,一个文章内容 Description,接着我们可以试着先添加一条数据,方便后边API调用测试。

6)点击页面左侧菜单导航中的 Content Manager ,能看到已经创建好的Pages表,点右侧界面中的“+Create new entry”按钮

7)输入页面标题和内容,点击保存或发布(保存只能在后台看的到,发布后就能在公网访问了)

8)我们直接点发布,后边使用Postman就能直接联调API查询已经添加的页面了

三.获取Token,后边联调API进行数据的增删改需要用到:
初学者可以直接后台生成静态Token,可用于服务器间调用、小程序、无前端登录等场景。
Strapi后台,进入 Settings → API Tokens,点击 Create new Api Token

设置名称、有效期及权限,点击右上角“保存”按钮(后边我们要联调增删改相关API,这里直接设置为“完全访问”,这样才有相关操作权限)。

保存后,可以点保存按钮左边的 view token 按钮,就能看到我们创建的静态Token,复制下来这个字段,以备后边使用。
当然,如果你已经开发了前端系统,也可以直接使用API请求的方式来获取Token进行数据的增删查改,后边会详细介绍。
1.查询 GET:
GET http://localhost:1337/api/pages/
查询无需身份 Authorization 的 Api 选择请求方式 GET ,输入 API 链接,点击 Send 按钮,即可在下方Body框中看到服务器返回的数据。

如上图,可以看到查询页面的API返回的数据中有个 documentId的 字段,记住它,它就是 Strapi 5 及以后版本进行所有CRUD 操作必须使用的唯一标识,下一个删除就会用到。
2. 新增 POST:
POST http://localhost:1337/api/pages
Authorization——AuthType选择“Bearer Token”,输入有写入权限的Token:

Headers中添加“Content-Type:application/json”:

Body中写入新增的数据:
{ "data": { "name": "api添加的页面2", "Description": [ { "type": "paragraph", "children": [ { "type": "text", "text": "api添加的页面2" } ] } ] } }
点右侧"Sent"按钮发送请求,界面底部Body框中就会显示API请求结果,如下界面所示就是已经添加数据成功了。

3.删除 DELETE:
需要注意的是,在 Strapi 5 及以后,所有的所有 CRUD 必须使用documentId,而Strapi v4 及更早版本仍可使用数字 id(自增整数)进行操作。
Strapi 5 及以后版本标准单条删除须通过 documentId,但批量删除可通过 Query Engine API 用任意唯一 / 匹配字段筛选。
这里仅以单条操作进行演示,具体操作如下:
1)请求方式选择 DELETE ,API URL后边添加要删除数据项的documentId即可
DELETE http://localhost:1337/api/pages/k8i91iegfe6y9d4hhs1et0gh
2)删除操作需要权限,按前边的方法输入有写入权限的Token,Body中清空参数,点击右侧的Send按钮,界面下方显示 204 no content 就是删除成功了。

注:新增、删除、修改这些操作都需要身份信息的,可以直接复制前边的POST,鼠标选中,右键单击右键,快捷菜单选择 Duplicate ,然后修改请求方式,调整具体参数即可,就不用再配置Authorization了。

还有个要注意的是,Strapi 5 没有批量删除的 documentId 接口,批量只能用底层 Query Engine,示例代码如下:
// 根据条件批量删除 await strapi.db.query('api::post.post').deleteMany({ where: { documentId: { $in: ['id1', 'id2', 'id3'] } } });
4.更新数据 PUT:
需要注意的是,PATCH 方法在 Strapi 5 中被直接禁用,永远会返回 405,所以这里使用PUT进行数据修改。
同删除和新增数据一样,修改数据同样需要身份Authorization,直接复制前边需要身份权限的请求进行修改就好了。
1)API URL同删除操作,修改方式改为PUT:
PUT http://localhost:1337/api/pages/dw7jnclgixxnz8nmexik98t6
2)请求体 Body(raw → JSON):
{ "data": { "name": "Strapi 5 禁用PATHC,只能使用PUT" } }
3)Authorization/Headers同删除和新增,点击右侧 Send 按钮,请求状态返回200OK,Body中返回修改完成的数据,修改请求成功执行。

1)条件查询
GET http://localhost:1337/api/pages/?filters[documentId][$eq]=xcs4dvs96ijkb92hojszy1lo&[name][$eq]=我的第一篇Strapi博客
可以直接拼接URL,也可以在Postman的Params中以键值对的方式进行配置,后续更复杂的条件查询及过滤可以直接复制这条查询进行修改。

2)排序
GET http://localhost:1337/api/pages/?sort=createdAt

反向排序
GET http://localhost:1337/api/pages/?sort=createdAt:desc

3)条件筛选
GET http://localhost:1337/api/pages/?filters[name][$eq]-张三

4)条件查询+区间查询
GET http://localhost:1337/api/pages/?filter[name][$contains]=api&filter[createAt][$between][0]=2026-03-31&filter[createAt][$between][0]=2026-04-01

当然,除了这些还有更复杂的表连接查询,后续开发到博客系统的时候回详细介绍,这里篇幅有限,就先不写那么多了。
后记:
学会了Strapi的接口调用,那基本就掌握了Restful API规范了,前端也就能脱离后端利用现有的无头CMS系统直接进行独立建站了。
如果遇到问题,寻求AI帮助,AI时代,没有什么不可能!
浙公网安备 33010602011771号