概述
作为一个前端开发者,只前端的技术就已经多不胜数、琳琅满目了,还要求我们会后端,这简直是“叔可忍婶不可忍”,我们只需要了解、能够从后端进行数据交互就行了。今天就跟大家分享一个利器——“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,界面如下图所示,填写相关的信息。
选择职业或者直接跳过即可。
4.设置语言为中文
4.1 添加中文
4.2 设置中文
添加完中文需要重新启动一下应用,否则在“简介”找不到中文选项。
5.添加表
5.1 创建表
5.2 定义字段
5.3 等待重启
5.4 添加数据
6. 查询
6.1 配置权限
可配置public的权限或生成一个token
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 重新启动
修改完配置,安装完依赖后重启启动即可。