无需编程,通过配置零代码生成CRUD RESTful API

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路径中的资源,物理表名称最终为数据库中的表名
字段属性主要包括:名称,类型,索引,长度,精度等
无需编程,通过配置零代码生成CRUD RESTful API

更多属性

包括:是否可以为空,默认值,是否可以插入,是否可以编辑,是否可以查询等
无需编程,通过配置零代码生成CRUD RESTful API

数据库

通过查看mysql数据库,学生表ca_student已经生成
无需编程,通过配置零代码生成CRUD RESTful API

Swagger API文档

https://demo.crudapi.cn/swagger-ui.html
无需编程,通过配置零代码生成CRUD RESTful API

以创建为例:/api/business/{name},其中name为对象名称复数形式(兼容对象名称)

业务数据

通过post man验证API

创建学生

无需编程,通过配置零代码生成CRUD RESTful API

请求URL
https://demo.crudapi.cn/api/business/students

请求body

{"name":"诸葛亮","stuNo":"10000","age":18,"major":"计算机科学与技术"}

返回值1为id

查询id为1的学生详情

无需编程,通过配置零代码生成CRUD RESTful API

请求URL
https://demo.crudapi.cn/api/business/students/1

返回body

{"id": 1,"name": "诸葛亮","createdDate": 1613013249000,"stuNo": "10000","age": 18,"major": "计算机科学与技术"}

通过UI操作

创建学生

无需编程,通过配置零代码生成CRUD RESTful API

获取所有学生列表

无需编程,通过配置零代码生成CRUD RESTful API

其它操作

还有编辑,删除等API类似,查看swager文档即可!

小结

本文通过配置表单的方式实现了RESTful CRUD API,和传统开发的方式对比如下:

实现方式 代码量 时间 稳定性
传统开发 1000行左右 2天/人 5个bug左右
cruapi系统 0行 1分钟 基本为0

综上所述,利用crudapi系统可以极大的提高工作效率和节约成本,让数据处理变得更简单!

附demo演示

本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的和业务无关的CRUD RESTful API。

上一篇:MybatisPlus:crud测试,自动填充问题


下一篇:Apache-DBUtils实现mysql数据库的CRUD操作