关于strapi

前端仔,来,看这里,用strapi,定制你的api。一个字,香。

安装

npm i strapi@beta -g
strapi new str-project

可能会比较慢

开始

npm run develop

运行完会新打开一个登录页,填入信息即可。

开局一个工作台

简单实现自己的api demo

还是官网的demo简单直接,下面是个人翻译

步骤1安装,步骤2的创建管理员账户都已经实现,下面从步骤3开始

3:创建一个叫 restaurant 的内容类型

点击左侧边栏额外功能-内容类型新建页,新建一个内容类型

  • 点击新建内容类型
  • 输入 restaurant,点击继续
  • 选择文本字段
  • 在名称输入框里输入 name
  • 点击右侧的进阶设置,勾选 必填值唯一
  • 点击新增另一个字段
  • 选择 富文本 字段
  • 在名称输入框里输入 description
  • 点击完成
  • 右上角点保存

4:创建一个叫 Category 的内容类型

还是在左侧边栏额外功能-内容类型新建页,新建一个内容类型

  • 点击新建内容类型
  • 输入 category ,点击继续
  • 选择文本字段
  • 在名称输入框里输入 name
  • 点击右侧的进阶设置,勾选 必填值唯一
  • 点击新增另一个字段
  • 选择 关联 字段
  • 在右侧的 Category 下拉框勾选 Restaurant,关联起来
  • 在中间的icon里,选择 多对多(不用我多解释吧?)
  • 点击完成
  • 右上角点保存

5:在 Restaurant 内容类型中新建一个 餐馆 数据

在左侧边栏集合-类型,选择 Restaurant,新建一篇文章

  • 点击新建按钮,在 name 字段中输入 “肯德基”,在 Description 字段中输入"肯德基KFC坚持“立足中国、融入生活”,打造新快餐,提供早餐,午餐,下午茶,晚餐,夜宵和甜品站等丰富选择
  • 点击右上角的保存

如果你返回到了 Restaurant 列表页面,你会发现多了一行数据


6:在 Category 内容类型中新建一个 种类 数据

  • 点击右上角的新建

  • 输入 中餐,并在右侧选择 肯德基

  • 点击保存

  • 返回Categories列表,发现多了一行 中餐 的数据

  • 继续新建,这次输入 快餐,并且不要在右侧勾选 肯德基

  • 点击保存,返回 Restaurants 列表

  • 点击 肯德基,在右侧勾选上 快餐,保存

  • 现在你已经看到了使用关系字段类型在内容类型之间添加和连接关系的两种不同方法

7:设置角色和权限

权限默认不开放

  • 选择 公共 角色(即不校验角色,谁都可以访问)
  • RestaurantCategory 分别勾上 可查询
  • 保存

8:发布你的内容
众所周知,cms系统的特点之一,即良好的内容管理关系,并不是创建了内容就直接对外开放。
创建内容之后,还需要发布才正式对外可见。

  • 点击 Category 进入列表,再进入 草稿箱
  • 点击右上角的 发布 按钮
  • 确认发布
  • 重复以上步骤,对 Restaurants 列表里的 肯德基 也发布一次

发布后的状态


9:好了,开始使用你的api!

http://localhost:1337/restaurants
http://localhost:1337/categories/1


访问成功!

写在结尾

  1. 有了strapi,基本上前端团队内部小项目的api接口都可以自给自足了。strapi有很强的广泛适用性,也不存在什么vue/react技术栈差异,因为没有什么前端技术栈是strapi不能支持的。
  2. 此外,对于制作个人的博客网站,strapi是一项利器。

有机会我分享一下如何把我的个人网站(使用java语言的cms后台),彻底搬迁到strapi上。拯救我的1核2g服务器。

参考

把strapi项目部署到服务器

新手入坑:strapi官网教程的简单示例学习相关推荐

  1. 为什么按照 Angular 官网教程执行简单的测试代码,会遇到expect is not defined的错误消息

    Angular 官网的代码: https://angular.io/api/core/Injectable#providedin 我把这段代码原封不动地拷贝到我的 app.module.ts ,然后执 ...

  2. 新手学Python之学习官网教程(十三: What Now)

    文章目录 1. 前言 2. 其他参考资料 3. 其他常用库补充 3.0 求文件的md5 3.1 组合 3.2 判断当前Python环境为2还是3 3.3 random 3.4 将十六进制字符串转换成二 ...

  3. 新手入坑GMSSL(三)GMSSL双证书与360国密浏览器通讯

    首先申明,我不是密码学的专业人员,没有这方面知识基础,这个以及接下来的博客都是我根据网上能找到的资料.博客,一点点摸索总结出来的.但项目必须得做身不由己,无奈只能自己试一试了. 如果有哪里不对的地方, ...

  4. java官网教程(基础篇)—— 基础的Java类 —— 基础 I / O

    目录 基本 Java 类 基础 I/O I/O流 字节流 字符流 缓冲流 扫描和格式化 扫描 格式化 从命令行中进行IO操作 数据流 对象流 文件 I/O(采用 NIO.2) 什么是路径? Path类 ...

  5. Away3D 4.0官网教程(翻译)

    使用Away3D 4.Stage3D 创建3D游戏和应用程序 (此帖每天都会更新,一定让大家完全的搞明白) 补充区:        'vase.awd' 可以使用 Prefab3D打开(在帖子后面回复 ...

  6. 新学Python之学习官网教程序言

      大家好,我是 herosunly.985 院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池安全恶意程序检测第一名,科大讯飞恶意软件分类挑战赛第三名,CCF 恶意软 ...

  7. [pytorch] 官网教程+注释

    pytorch官网教程+注释 Classifier import torch import torchvision import torchvision.transforms as transform ...

  8. [摘抄] 资深软件项目经理/产品经理“扯皮技巧”汇总(新手入坑必读,不定期更新)...

    左耳朵耗子 (陈皓):<开发团队的效率> http://coolshell.cn/articles/11656.html (介绍并点评了)以下几种典型的开发方式(以及他们在实践中难以避免的 ...

  9. MNE溯源fieldtrip官网教程

    MNE溯源fieldtrip官网教程 Introduction 在本教程中,您可以找到有关如何使用最小范数估计进行源重构的信息,以重构单个主题的事件相关字段(MEG).我们将使用预处理教程中描述的数据 ...

最新文章

  1. linux 故障监控必备五款软件
  2. Java基础笔记-异常
  3. java基础---动态代理机制
  4. pythonmysql数据分析 tableau_python执行mysql 计算复购率+pyechart+Excel+Tableau绘制双Y轴图...
  5. Untiy3D(4.5) 中应用 MovieTexture,无法关联资源文件可能的原因
  6. c++ vector 赋值_C++中vector用法
  7. c ++递归算法数的计数_C ++程序使用数组中的递归查找数字的最后一次出现
  8. 全局角度出发讨论敏捷
  9. 怎么用c语言制作游戏,怎么用c语言编写游戏.doc
  10. Java面向对象练习题之定义交通工具类型,控制速度
  11. 显卡性能暴涨,2K高清+144hz显示器飞入寻常百姓家
  12. Windows安装Dolby Vision 杜比视界插件
  13. 2022年csdn最全的Python练手经典趣味编程100例(部分
  14. 实录丨戴琼海:深度学习遭遇瓶颈,全脑观测启发下一代AI算法
  15. 这是一份激励自己的文章
  16. Error Code: 1265. Data truncated for column
  17. VBA Rnd()函数不正确,应使用什么代替
  18. Python for 循环遍历字符串
  19. JAVA--利用Filter和session防止页面重复提交
  20. 分析及解决:虚拟机无法连接虚拟设备idel 0:1 问题

热门文章

  1. 哪个省才是高考地狱模式?有你的省吗?
  2. 西湖大学正式开学! 120名博士新生入校,每月补助5000多元
  3. V---双相机定位贴合的原理和实现过程
  4. 推荐几个财富自由大佬的公众号
  5. October 2nd 2017 Week 40th Monday
  6. 海思SD3403开发板学习(五)
  7. 深入理解TCP协议的连接状态与可靠机制
  8. 竞价推广方案怎么写,这些点你get到了吗?
  9. 3d slicer matlab,使用3D Slicer进行颅骨去除
  10. k均值算法的优化目标和随机初始化