首页 > 数据库 >图文并茂strapi 4.5.5自定义搭建指南以及数据库字段名接口返回mapping分析

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

时间:2023-01-08 23:12:28浏览次数:78  
标签:4.5 图文并茂 自定义 创建 数据库 接口 strapi 我们 字段名

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,我们创建的就是接口返回的字段名~

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

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

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

()开开心心又一天~~

标签:4.5,图文并茂,自定义,创建,数据库,接口,strapi,我们,字段名
From: https://www.cnblogs.com/sugartang/p/17035309.html

相关文章

  • 4.2JS中自定义对象
    ​ JS中自定义对象JS除了一些常用方法和类以外,允许我们自己定义对象,在JS中自定义对象有三种可用的语法格式,分别为:1调用系统的构造函数创建对象2自定义构造函数创......
  • 4.2JS中自定义对象
    ​ JS中自定义对象JS除了一些常用方法和类以外,允许我们自己定义对象,在JS中自定义对象有三种可用的语法格式,分别为:1调用系统的构造函数创建对象2自定义构造函数创......
  • 自定义JeeSite组件DataGrid中的单选钮radio编辑项
    继续说说JeeSite中提供的DataGrid组件。作为传统的后端生成前端使用JqGrid来显示列表数据是非常方便的,JeeSite框架将JqGrid进行了包装,简化和规范了使用值得称赞,但毕竟JqGri......
  • Airtest学习笔记之自定义启动器
    小站注:之前在《Airtest命令行运行airtestrun详解》中讲解到runner.py就没讲了,这篇里详细讲了runner.py的代码通过本篇,你将了解到Airtest的自定义启动器的运用,以及air......
  • Airtest自定义启动器支持批量运行脚本,并兼容在AirtestIDE中使用
    小站注:上期详细讲了Airtest启动器的原理,以及在最后给出了2个实现方案。本次是第2个方案的另一个实现案例,供大家学习参考。Pythonv3.7.0/Airtest:1.1.1/PocoUI:......
  • ExtJS-自定义组件的UI
    转载请注明出处:https://www.cnblogs.com/cqpanda/p/17031484.htmlExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html更新记录2023年1月6日从笔记迁移到......
  • Go 自定义序列化
    实现MarshalJSON()([]byte,error)方法,序列化后可以把原来的枚举数转化为枚举数对应的字符串实现UnmarshalJSON([]byte)error方法,可以把byte中的枚举的字符串转化为对......
  • .NET Core读取配置文件 实体类映射获取配置文件中参数 默认情况下读取配置Configura
    .NETCore读取配置文件https://www.jb51.net/article/254440.htm1.说明默认情况下读取配置Configuration的默认优先级:ConfigureAppConfiguration(自定义读取)>Command......
  • Vue自定义事件原理
    自定义事件的基本用法<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-sca......
  • 07-自定义对象
    自定义对象基本概念在js中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。对象是由属性和方法组成的。属性:事物的特征,在对象......