strapi是什么?

基于Nodejs的开源免费CMS框架

为什么选择它?

  • 基于nodejs,100%JavaScript,上手迅速
  • 可轻松创建功能强大且可自定义的API
  • 可以使用任何喜欢的数据库

先决条件

首先你的电脑需要具备以下环境,再执行命令

快速搭建Strapi项目

我选择是自定义搭建方式,创建之前,我在本地创建了一个新的数据库

执行指令

npx create-strapi-app@latest my-project





运行项目

yarn develop

开始配置

创建管理员账户设置账号密码并记住账号密码



进入strapi框架的主面板

管理后台的界面是用React写的我们可以在node_modules@strapi\admin\目录下找到相关页面文件

项目启动以后,我们打开数据库,会发现项目自动为我们创建了很多表

这个就是我刚刚创建的管理员账号

SELECT * FROM `admin_users`

我们回到管理后台

菜单介绍

下面我们来分析一下这些菜单的作用

  • content-types builder是核心的内容管理器,可以建表,添加各种类型的字段。
  • collection type-数据库建的表集合
  • single type-相当于对象,只存一条记录

点击 Users 可以看到我们刚刚创建的账号信息



数据库字段名定义问题

接下来说一下建表以及字段名设置的问题

我们观察发现,strapi自动创建的表名都是以下划线格式命名,我们使用界面化工具来进行创建测试

我在前端界面创建

  • 表名:termsInfo
  • 字段名:contentInfo





保存创建内容

我们去数据库看一下我们现在创建的信息



我们可以得出结论

    1. 红圈部分是strapi自动帮我们创建的字段,如果我们要创建字段,不可以和已有字段名相冲突

  • 2.表名会自动添加s后缀,在数据库中用下划线格式命名
  • 3.关于字段名,不管我们使用哪种命名格式,strapi会自动帮我们转化为下划线格式存入数据库表

我们使用不同格式的命名规则来进行测试,下面我用三种命名创建字段

我们去数据库看一下

SELECT * FROM `terms_infos`

代码分析

为什么会是这种情况呢?我们从代码可以分析得出结果

创建字段完成以后,系统调用了接口

Request URL: http://localhost:1337/content-type-builder/content-types/api::terms-info.terms-info

Request Method: PUT

我们去观察代码发现,系统自动创建了如下文件

在数据库代码中我们可以看到:

代码路径:my-project\node_modules@strapi\database\lib\index.js



我们发现,在这里,strapi帮我们存储数据的时候,把我们的命名改为了下划线格式破案啦

由此可见,不管我们使用哪种命名格式,strapi会自动帮我们转化为下划线格式存入数据库表

接口测试

我们存储几条数据,然后配置接口进行访问测试

接下来我们进行接口测试

我们先创建一条数据





然后我们配置接口权限





保存,然后访问我们配置的接口

API: http://localhost:1337/api/terms-infos

我们可以看到结果如下:

我们做个对比图

我们可以得出结论,strapi帮我们把字段名做了mapping,我们创建的就是接口返回的字段名~

字段名映射表

好啦,今天就到这里啦~~

欢迎大家指出文章需要改正之处~

学无止境,合作共赢

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

()开开心心又一天~~

图文并茂strapi 4.5.5自定义搭建指南以及数据库字段名接口返回mapping分析的更多相关文章

  1. mybatis generator为实体类生成自定义注释(读取数据库字段的注释添加到实体类,不修改源码)

    我们都知道mybatis generator自动生成的注释没什么实际作用,而且还增加了代码量.如果能将注释从数据库中捞取到,不仅能很大程度上增加代码的可读性,而且减少了后期手动加注释的工作量. 1.首 ...

  2. 自定义搭建PHP开发环境

    学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...

  3. [转]OpenShift 集群搭建指南

    转自:http://www.cnblogs.com/zhangning/p/7251810.html OpenShift 集群搭建指南 v1.0 搭建Hyper-v虚拟机或物理机 配置物理机静态IP, ...

  4. NTP搭建指南

    NTP搭建指南 前言: NTP是网络时间协议(Network Time Protocol),用于全球的标准时间(UTC)的校正. 一般NTP 服务有不同的层次:一层是源头NTP 服务器,一层服务器都设 ...

  5. Lsyncd实时同步搭建指南

    linux文件实时同步: inotify+rsync.sersync.lsyncd工具比较 一.inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify ...

  6. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  7. WPF管理系统开发框架搭建指南,2020从入门到放弃

    WPF技术是一个很不错的技术,但一直没有上手过正式的项目,趁在做这个医疗项目时,遂搭建一个WPF开发框架,目的是为了统一WPF开发并提高开发效率:我对WPF技术算是零基础,现学现卖,用这些不成体系的文 ...

  8. Ubuntu16.04+Tensorflow+CUDA9.0+cuDNN7.0 环境简明搭建指南

    最近在研究风格化得内容,发现搭建环境实在是很头疼的事情,虽然网上已经有各路大神总结整理好了很多搭建指南,各种问题的解决方案都已经罗列出来供大家参考.然后参考终究是参考,真正自己上手,发现仍旧是各种坑, ...

  9. ubuntu基于VSCode的C++编程语言的构建调试环境搭建指南

    ubuntu基于VSCode的C++编程语言的构建调试环境搭建指南 首先安装g++ sudo apt install g++ 检查是否安装成功: 在插件栏安装插件c/c++.code runner: ...

  10. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

随机推荐

  1. k8s挂在问题

    今天在重启pod这个后发现一直处于 然后去describe发现报错如下 先去手动mount的发现挂在不了 然后去slave节点发现这个没有安装 然后手动去安装后重启pod问题解决

  2. 精简docker的导出镜像

    Docker 镜像是由多个文件系统(只读层)叠加而成,每个层仅包含了前一层的差异部分.当我们启动一个容器的时候,Docker 会加载镜像层并在其上添加一个可写层.容器上所做的任何更改,譬如新建文件.更 ...

  3. 如何在Spring Boot开启事务

    说到事务,那什么是事务呢? 事务(Transaction),一般是指要做的或所做的事情. 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行. ...

  4. Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持

    Xmake 是一个基于 Lua 的轻量级跨平台构建工具. 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时. 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLis ...

  5. 用map来统计数组中各个字符串的数量

    1.背景 想要统计这一个字符串数组中每一个非重复字符串的数量,使用map来保存其key和value.这个需求在实际开发中经常使用到,我以前总是新建一个空数组来记录不重复字符串,并使用计数器计数,效率低 ...

  6. Byte和byte的区别

    Byte和byte的区别 背景 今天学习网络编程中,在建立Udp连接时,使用byte[]数组接收传输的数据,但是byte[]错写为Byte[],导致错误.    //接收数据:         Byt ...

  7. SQLSever事务

    1. 为什么要使用事务? 当一个存储过程或多个SQL语句(指代insert.update.delete类型)依次执行时候, 如果其中一条或几条发生错误,但是其他的还会继续执行,会造成数据的不一致,非常 ...

  8. 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-上

    @ 目录 概述 定义 发展历史 特性 使用场景 编译安装 编译环境 编译Hudi 关键概念 TimeLine(时间轴) File Layouts(文件布局) 索引 表类型 查询类型 概述 定义 Apa ...

  9. 2022-11-03 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...

  10. 初步探索GraalVM——云原生时代JVM黑科技

    1 云原生时代Java语言的困境 经过多年的演进,Java语言的功能和性能都在不断的发展和提高,诸如即时编译器.垃圾回收器等系统都能体现Java语言的优秀,但是想要享受这些功能带来的提升都需要一段时间 ...