快速搭建Strapi项目
npm install strapi@beta -g
strapi new my-project
cd my-project
strapi start
或者在安装strapi库后执行下面这行命令
yarn create strapi-app my-project --quickstart
可能无法一次搭建,多试几次就OK。
*注意版本
Node:
NodeJS >= 10.x
NPM >= 6.x
Database:
MongoDB >= 3.6
MySQL >= 5.6
MariaDB >= 10.1
PostgreSQL >= 10
SQLite >= 3
搭建完成后,浏览器会自动打开项目:http://localhost:1337/admin/auth/login
设置账号密码并记住账号密码。
项目目录结构:
配置数据库
例:mysql
数据库配置在config/database.js 可直接替换默认内容
module.exports = ({env}) => ({
defaultConnection: 'default',
connections: {
default: {
connector: 'bookshelf',
settings: {
client: 'mysql',
database: '数据库名',
Host: '127.0.0.1',
username: 'root',
password: 'root'
},
options: {
useNullAsDefault: true,
},
},
},
});
配置好后, 在登录进的主页可配置内容类型生成器
点击创建一个新的content type
输入即为表名,在mysql中会自动生成复数形式表。
可选字段类型,选中后自定义字段名称。
保存后会重启项目,重启后即可在COLLECTION TYPES中看到刚刚新建的表以及表内容,并同时在数据库生成相应的表。
每次新建时strapi会自动生成ID,Created_at,Updated_at 三个字段。此时即可绑定数据库以及strapi页面数据。
点击新增新的test_strapi_study
数据库同时新增数据。(也可手动在数据库添加后会展示在strapi的管理页面中)
配置好后在项目中api下会生成对应文件夹
routes.json文件中
配置权限
登录用户默认配置在public中,点击public
每次新建content type 后会自动生成6个api, 见名思意
将需要使用到的方法勾上保存后即可访问。
配置graphql
在strapi管理页面市场中下载插件
点击下载或运行命令
npm install --save graphql
安装完成之后即可打开http://localhost:1337/graphql
strapi中graphql官方文档:
https://strapi.io/documentation/v3.x/plugins/graphql.html#usage
条件查询可用参数:
limit (整数):定义返回的条目数。
start (整数):定义要跳过的条目数。
sort (字符串):定义数据的排序方式。
where (对象):定义要在查询中应用的过滤器。
<field>: 等于。
<field>_ne:不等于。
<field>_lt: 小于。
<field>_lte:小于或等于。
<field>_gt: 大于。
<field>_gte:大于或等于。
<field>_contains:包含。
<field>_containss:包含敏感内容。
<field>_in:匹配值数组中的任何值。
<field>_nin:与值数组中的任何值都不匹配。
<field>_null:等于null /不等于null
*访问路径一restful风格访问
获取所有的数据列表
GET http://localhost:1337/test-strapi-studies
根据id获取指定数据
GET http://localhost:1337/test-strapi-studies/1
条件查询数据 参考查询可用参数
查询名字为study的数据
GET http://localhost:1337/test-strapi-studies?name=study
查询id小于等于3的数据
GET http://localhost:1337/test-strapi-studies?id_lte=3
查询id在[1,2,4]中的数据
GET http://localhost:1337/test-strapi-studies?id_in=1&id_in=2&id_in=4
查询数据以ID正序排列
GET http://localhost:1337/test-strapi-studies?_sort=id:ASC
查询数据以ID正序,name倒叙排列
GET http://localhost:1337/test-strapi-studies?_sort=id:ASC,name:desc
查询分页数据
GET http://localhost:1337/test-strapi-studies?_start=10&_limit=10