Strapi入门

介绍

Strapi 是一个免费的开源无界面 CMS。所谓无界面------即 Headless ------是指这种 CMS 只提供结构化的数据和接口,而不提供界面,快速构建自己所需的API。在拿到数据后你需要用任何框架或方法将数据渲染成界面。

优点:

  • 保持对数据的控制。使用Strapi,可以知道数据的存储位置,并且始终可以完全控制。
  • 自托管。可以按照自己的方式托管和扩展Strapi项目。可以选择所需的任何托管平台:AWS,Netlify,Heroku,VPS或专用服务器。您可以随增长而扩展,100%独立。
  • 可以选择自己喜欢的数据库。Strapi适用于SQL和NoSQL数据库:MongoDB,PostgreSQL,MySQL,MariaDB和SQLite。
  • 可定制的。通过完全自定义API,路由或插件来完全满足需求,从而快速构建逻辑。

安装环境

安装&运行

yarn create strapi-app my-strapi --quickstart

Strapi默认使用一个SQLite数据库。要使用其他数据库来设置Strapi,例如MongoDB或PostgreSQL,请从上述命令中删除--quickstart 标志。

启动开发模式

yarn dev

生产模式

yarn start

重新构建

yarn build

可以打开config/server.js文件,修改启动端口号

修改 strapi 管理界面为中文

step1. 在项目的./src/admin/目录下拷贝app.example.js文件并重命名为app.js,并对这两行

arduino 复制代码
'zh-Hans',
'zh',

取消注释,保存。

step2. 运行yarn build && yarn start

step3. 在管理界面中点击:左下角的用户名 -> Profile -> Experience -> Interface language里可进行当前账号的界面语言设置,保存即可。

快速开发一套CRUD接口

建表

点击Content-Type Builder,可以看到已经有一个User的集合类型,这个是strapi自己提供的,我们当前登录的用户的数据就存储在这个模型当中。

让我们建一个Pages集合,包含一个名称和描述字段。

【注意】高级设置中的草稿&发布根据实际需要进行勾选,勾选之后新增加的数据需要手动进行发布才能生效。

点击继续后,

新增数据

保存数据并进行发布。

对外暴露接口

无需认证即可请求接口

找到设置->用户及权限插件->角色->Public,点击编辑按钮:

点击右上角保存按钮,即可通过localhost:1337/api/pages请求已发布的数据,或通过localhost:1337/api/pages/:id请求特定某条数据。get请求可直接在浏览器标签页中请求:

需要认证才可请求接口

找到设置->用户及权限插件->角色->Authenticated,点击编辑按钮,勾选全部接口,保存。

创建令牌

找到设置->全局设置->API令牌->创建新的API令牌,我这里创建了一个无限期的完全访问的令牌(测试用,实际生产环境不推荐): 保存后会生成一个令牌,复制令牌,接下来的请求会需要用到。用TOKEN替代令牌内容。

接口请求

我是使用浏览器插件Talend API Tester来测试的,诸位看官也可以选择用postman等其他工具来测试。

请求头中增加Authorization,值为Bearer TOKEN,其中TOKEN可以是你创建API令牌后复制的令牌串。但通常情况下我们的令牌都是通过接口请求的,如下。

令牌获取

POST请求:http://host:port/api/auth/local

返回数据中的jwt就是令牌,可用于请求体中的Authorization

【注意】请求数据中的用户名和密码是内容管理器User表中的用户

总结

Strapi使开发者能够使用一个易于使用的界面建立一个强大的后端。

相关推荐
东方小月6 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
Csvn7 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn7 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn7 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail7 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174468 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆8 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
用户938515635078 小时前
从零构建《天龙八部》知识库:EPUB 加载→文本分割→向量嵌入→Milvus 存储→RAG 问答,一条链路打通
javascript·人工智能·全栈
SamChan909 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen9 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude