概述
作为一个前端开发者,只前端的技术就已经多不胜数、琳琅满目了,还要求我们会后端,这简直是“叔可忍婶不可忍”,我们只需要了解、能够从后端进行数据交互就行了。今天就跟大家分享一个利器——“Strapi”:不会写后端不用愁,“Strapi”解你忧。
Strapi简介
Strapi是一个开源的Headless CMS(无头内容管理系统)
。它允许开发者通过自定义的方式快速构建、管理和分发内容。Strapi 提供了一个强大的后端 API,支持 RESTful 和 GraphQL 两种方式,使得开发者可以方便地将内容分发到任何设备或服务,无论是网站、移动应用。
Strapi使用
1. 工程初始化
在终端输入如下命令
npx create-strapi-app@latest
初始化工程
安装依赖
2. 启动工程
在终端中输入如下命令:
cd strapi-demo
# 开发启动
npm run develop
启动成功
3.创建用户
启动后会自动打开http://localhost:1337/admin/auth/register-admin,界面如下图所示,填写相关的信息。
image.png
选择职业或者直接跳过即可。
image.png
4.设置语言为中文
4.1 添加中文
image.png
4.2 设置中文
添加完中文需要重新启动一下应用,否则在“简介”找不到中文选项。
image.png
5.添加表
5.1 创建表
image.png
5.2 定义字段
image.png
5.3 等待重启
image.png
5.4 添加数据
image.png
6. 查询
6.1 配置权限
可配置public的权限或生成一个token
image.png
6.1 curl请求示例如下:
// 登录
curl --location 'http://localhost:1337/admin/login' \
--header 'Content-Type: application/json' \
--data-raw '{"email":"niujp08@qq.com","password":"Lzuniujp2008"}'
// 登出
curl --location --request POST 'http://localhost:1337/admin/logout' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzM2NzY2NzY1LCJleHAiOjE3MzkzNTg3NjV9.TCjBv53Y0LD1JuH0pqh-O-REf5ilHhQP5xPHBWYUmiU'
// 添加token
curl --location 'http://localhost:1337/api/blogs' \
--header 'Authorization: Bearer 3ddda0c85cdefc1a9f40b277636884b083b6d2668e0dc4a21064d1e5f3611e59ee3191a9bc843470d1e873f00f1d05c29e9b61987e9467a0ed26ca25da72c815affa5ca2ea49972018cf804e4fd420741952d8defba514791209f255be320911c2da0f8ce6425f0fdec4e1eff55d87e249044f8186c0a99103699a3f2a394118'
// 查询列表
curl --location --globoff 'http://localhost:1337/api/blogs?pagination[page]=1&pagination[pageSize]=3&sort[0]=createdAt%3Adesc&filters[blog_title][%24contains]=%E6%B5%8B%E8%AF%95&fields[0]=blog_title'
// 查询详情,注意使用的是返回的documentId
curl --location 'http://localhost:1337/api/blogs/uu104yvzfiecs4bsizzz3j9y'
// 新增
curl --location 'http://localhost:1337/api/blogs' \
--header 'Content-Type: application/json' \
--data '{
"data": {
"blog_title": "html简介",
"blog_content": "html简介html简介html简介html简介html简介"
}
}'
// 更新
curl --location --request PUT 'http://localhost:1337/api/blogs/mpz2gcjwoeuqelohbts79u6m' \
--header 'Content-Type: application/json' \
--data '{
"data": {
"blog_content": "html简sdsasadsadasdsadasddasdasasda介"
}
}'
// 删除
curl --location --request DELETE 'http://localhost:1337/api/blogs/uu104yvzfiecs4bsizzz3j9y'
7. 切换为postgres
7.1 修改配置
修改.env
文件,修改的内容如下:
# Database
DATABASE_CLIENT=postgres
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=lzugis
DATABASE_USERNAME=postgres
DATABASE_PASSWORD=root
7.2 添加依赖
npm i pg -S
7.3 重新启动
修改完配置,安装完依赖后重启启动即可。