惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
B
Blog
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
月光博客
月光博客
人人都是产品经理
人人都是产品经理
IT之家
IT之家
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
C
Check Point Blog
罗磊的独立博客

博客园 - 码间留白

uniapp打包的APP内嵌H5游戏切后台背景音乐停不下来的解决方案 微信小程序审核总被拒?掌握这套“极简闭环”方案,轻松通关,亲测有效! uni-app 项目鸿蒙原生适配实录:微信授权登录从"点击无反应"到真机跑通,条件编译、SDK 配置与那些官方文档没说清的坑 uniapp项目鸿蒙适配,rebuild 后同步原生工程的三种方案与分层决策 uniapp项目适配鸿蒙端没有自定义基座,调试和打包怎么办? 鸿蒙纯血系统适配实战记录:uView + Vue3 的 uni-app 项目适配鸿蒙 NEXT,一天搞定主功能运行到鸿蒙纯血系统 AI辅助前端开发实战指南:高效落地、避坑沉淀全流程 uni-app 集成网易云信通话插件:首页通话监听一直只有第一次有日志?从监听丢失到重复上报的完整治理之路 即时通信 IM 踩坑实录:群主拉人入群后无法收消息?一文讲透 10007 错误码 AI时代插件开发新玩法,分分钟抽离封装插件,你需要做的只是发布到插件市场 PhotoShop CS6在win11系统中界面字体很小,通过兼容性设置强制高 DPI 缩放即可解决 不会后端不用愁,Strapi解你忧——使用Qoder生成前端开发框架,技术栈React18 + Vite + ReactRouter6 + Axios + vw 适配 + Ant Design Mobile + Zustand + Strapi5 不会后端不用愁,Strapi解你忧——Strapi后台数据表创建及API联调测试,实现查询文章及关联的分类、标签、评论等表连接查询 不会后端不用愁,Strapi解你忧——搭建博客系统常用数据表设计 windows11系统如何安装多个版本的node,新旧项目切换再也不需要卸载重装了 不会后端不用愁,Strapi解你忧——Windows 11 本地完整部署 Strapi + MySQL 8 实操攻略,从下载到配置启动全指南 不会后端不用愁,Strapi解你忧——Strapi v5.4设置中文语言展示 win11电脑浏览器无法上网但微信正常使用,通常是因为‌DNS解析失败‌,手动设置可靠的公共DNS服务器地址来解决问题 高效能CI/CD流水线设计:Jenkins与Docker的7个关键优化点 从零搭建 Docker + Jenkins CI/CD 流水线:实现项目自动化构建与部署 AI辅助开发——阿里Qoder重构vue2项目到vue3后继续对项目页面加载速度进行优化 vue3项目本地环境网路请求初始连接过久导致接口请求时间过长的问题处理 微信小程序内嵌vue项目实现页面自定义分享完整示例代码 JavaScript 数组高阶用法汇总(含浏览器+微信小程序WebView支持) 京东小程序报错APP-SERVICE-SDK:setStorageSync:fail vue3+ts项目自定义全局函数调用正常但IDE报异常类型ComponentPublicInstance上不存在属性“$showLoading" vue项目实现Tab页面触底上拉切换下个Tab vue3+ts实现页面滚动位置的保存及恢复 到底是用vue2还是vue3好? css3过渡效果如何处理高度不确定的动态内容
不会后端不用愁,Strapi解你忧——前端使用Strapi就能实现常见...
码间留白 · 2026-04-14 · via 博客园 - 码间留白

AI的时代,没什么不可能,如果以前觉的自己是前端,离开后端不能自己建站,那么现在借住AI,利用现有的CMS系统,轻松掌握独立建站技术。

无论是常规的数据增删查改,还是分页、排序、模糊查询,亦或是表链接查询,都能通过Strapi轻松实现。

当然,如果你略懂SQL命令,略懂数据库相关知识,那就更简单了,分分钟掌握!

接下来介绍一些常规的API调用。


一. 下载安装Postman

二. 创建数据表及示例数据联调API使用

三. 创建及获取静态Token,以备后边

四. 使用Postman联调API,实现数据的增删查改

五. 复杂点的条件查询


一. 下载安装Postman:

首先,您需要安装一个调试API的工具,推荐Postman,后端必备,用起来也顺手。

下载地址:Download Postman | Get Started for Free

image

 Postman安装好,启动Strapi项目,就能愉快的体验数据的增删查改了。

二.创建数据类型及示例数据:

为了方便查询数据,我们需要在Strapi创建一个新的表,比如Pages,添加数据字段name/description,然后添加几条示例数据,就可以使用Strapi提供的API语句进行查询了。

1)左侧菜单导航点击 Content-Type Builder ,进入页面后点击 COLLECTION TYPES 右侧的'+"图标:

image

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

image

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

image

3)添加一个 Text 字段

image

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

image

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

image

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

image

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

image

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

image

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

image

三.获取Token,后边联调API进行数据的增删改需要用到:

初学者可以直接后台生成静态Token,可用于服务器间调用、小程序、无前端登录等场景。

Strapi后台,进入 Settings → API Tokens,点击 Create new Api Token

image

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

image

保存后,可以点保存按钮左边的 view token 按钮,就能看到我们创建的静态Token,复制下来这个字段,以备后边使用。

当然,如果你已经开发了前端系统,也可以直接使用API请求的方式来获取Token进行数据的增删查改,后边会详细介绍。

四.使用Postman联调API:

1.查询 GET:

GET http://localhost:1337/api/pages/

查询无需身份 Authorization 的 Api 选择请求方式 GET ,输入 API 链接,点击 Send 按钮,即可在下方Body框中看到服务器返回的数据。

image

如上图,可以看到查询页面的API返回的数据中有个 documentId的 字段,记住它,它就是 Strapi 5 及以后版本进行所有CRUD 操作必须使用的唯一标识,下一个删除就会用到。

2. 新增 POST:

POST http://localhost:1337/api/pages

Authorization——AuthType选择“Bearer Token”,输入有写入权限的Token:

image

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

image

 Body中写入新增的数据:

{
  "data": {
    "name": "api添加的页面2",
    "Description": [
      {
        "type": "paragraph",
        "children": [
          {
            "type": "text",
            "text": "api添加的页面2"
          }
        ]
      }
    ]
  }
}

点右侧"Sent"按钮发送请求,界面底部Body框中就会显示API请求结果,如下界面所示就是已经添加数据成功了。

image

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 就是删除成功了。

image

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

image

还有个要注意的是,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中返回修改完成的数据,修改请求成功执行。

image

五. 复杂点的条件查询:

 1)条件查询

GET http://localhost:1337/api/pages/?filters[documentId][$eq]=xcs4dvs96ijkb92hojszy1lo&[name][$eq]=我的第一篇Strapi博客

可以直接拼接URL,也可以在Postman的Params中以键值对的方式进行配置,后续更复杂的条件查询及过滤可以直接复制这条查询进行修改。

image

2)排序

GET http://localhost:1337/api/pages/?sort=createdAt

image

 反向排序

GET http://localhost:1337/api/pages/?sort=createdAt:desc

image

 3)条件筛选

GET http://localhost:1337/api/pages/?filters[name][$eq]-张三

image

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

image

当然,除了这些还有更复杂的表连接查询,后续开发到博客系统的时候回详细介绍,这里篇幅有限,就先不写那么多了。


后记:

学会了Strapi的接口调用,那基本就掌握了Restful API规范了,前端也就能脱离后端利用现有的无头CMS系统直接进行独立建站了。

如果遇到问题,寻求AI帮助,AI时代,没有什么不可能!