# Hello,crudapi!(你好,增删改查接口!)
本文通过学生对象为例,无需编程,通过配置实现CRUD RESTful API。
# 概要
# CRUD简介
crud是指在做计算处理时的增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
# RESTfull API
REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格通过RESTful API实现,学生操作具体接口如下
操作 | REST ACTION | API |
---|---|---|
添加学生 | POST | /api/business/students |
获取学生详情 | GET | /api/business/students/id |
修改学生 | PATCH | /api/business/students/id |
删除学生 | DELETE | /api/business/students/id |
查询学生 | GET | /api/business/students |
# 表设计
# 学生字段设计
通过后台元数据管理UI设计学生表字段,主要包括名称,学号,年龄,专业等字段
# 基本属性
对象名称唯一识别不同的对象,对象复数用于URL路径中的资源,物理表名称最终为数据库中的表名
字段属性主要包括:名称,类型,索引,长度,精度等
# 更多属性
包括:是否可以为空,默认值,是否可以插入,是否可以编辑,是否可以查询等
# 数据库
通过查看mysql数据库,学生表ca_student已经生成
# Swagger API文档
https://demo.crudapi.cn/swagger-ui.html (opens new window)
以创建为例:/api/business/{name},其中name为对象名称复数形式(兼容对象名称)
# 业务数据
# 通过post man验证API
# 创建学生
请求URL
https://demo.crudapi.cn/api/business/students
请求body
{
"name":"诸葛亮",
"stuNo":"10000",
"age":18,
"major":"计算机科学与技术"
}
返回值1为id
# 查询id为1的学生详情
请求URL
https://demo.crudapi.cn/api/business/students/1
返回body
{
"id": 1,
"name": "诸葛亮",
"createdDate": 1613013249000,
"stuNo": "10000",
"age": 18,
"major": "计算机科学与技术"
}
# 通过UI操作
# 创建学生
# 获取所有学生列表
# 其它操作
还有编辑,删除等API类似,查看swager文档即可!
# 小结
本文通过配置表单的方式实现了RESTful CRUD API,和传统开发的方式对比如下:
实现方式 | 代码量 | 时间 | 稳定性 |
---|---|---|---|
传统开发 | 1000行左右 | 2天/人 | 5个bug左右 |
crudapi系统 | 0行 | 1分钟 | 基本为0 |
综上所述,利用crudapi系统可以极大的提高工作效率和节约成本,让数据处理变得更简单!
# 附demo演示
本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的和业务无关的CRUD RESTful API。
官网地址:https://crudapi.cn (opens new window)
测试地址:https://demo.crudapi.cn/crudapi/login (opens new window)
# 目录
# crudapi系列一 入门
# crudapi系列二 序列号
# crudapi系列三 表关系
# crudapi系列四 表关系高阶
# crudapi系列五 数据条件查询和分页
# crudapi系列六 RBAC权限模型
# crudapi系列七 表单设计
# crudapi系列八 应用场景
# crudapi系列九 多数据库之postgresql
# crudapi系列十 甲骨文oracle数据库
# crudapi系列十一 微软mssql数据库
序列号 →