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

更多属性
包括:是否可以为空,默认值,是否可以插入,是否可以编辑,是否可以查询等

数据库
通过查看mysql数据库,学生表ca_student已经生成

Swagger API文档
https://demo.crudapi.cn/swagger-ui.html

以创建为例:/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左右 |
| cruapi系统 | 0行 | 1分钟 | 基本为0 |
综上所述,利用crudapi系统可以极大的提高工作效率和节约成本,让数据处理变得更简单!
附demo演示
本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的和业务无关的CRUD RESTful API。
官网地址:https://crudapi.cn
测试地址:https://demo.crudapi.cn/crudapi/login
无需编程,通过配置零代码生成CRUD RESTful API的更多相关文章
- 10款无需编程的App DIY开发工具
10款无需编程的App DIY开发工具 你有一个很棒的创意但不会编程怎么办?外包.合伙开发还是从零学编程?这里提供另外一种方式--使用无需编程的App DIY开发工具.DIY开发工具不仅节省了开发时 ...
- 技术大众化--10款无需编程的App DIY开发工具
你有一个很棒的创意但不会编程怎么办?外包.合伙开发还是从零学编程?这里提供另外一种方式--使用无需编程的App DIY开发工具.DIY开发工具不仅节省了开发时间和资金,更为那些创意无限热爱应用的人提供 ...
- Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径
Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...
- WCF编程系列(六)以编程方式配置终结点
WCF编程系列(六)以编程方式配置终结点 示例一中我们的宿主程序非常简单:只是简单的实例化了一个ServiceHost对象,然后调用open方法来启动服务.而关于终结点的配置我们都是通过配置文件来 ...
- centos7多网卡配置bond0 (mode6无需交换机做配置)
1.执行setup命令-->网络配置-->本例中四块网卡. 2.ifconfig列出四块网卡. 3.我们的目标,绑定eth0和eth1两块网卡作为公网网卡,ip设置为192.168.0.5 ...
- Yii2 Restful api设计--App接口编程
Yii2框架写一套RESTful风格的API,对照魏曦教你学 一,入门 一.目录结构 实现一个简单地RESTful API只需用到三个文件.目录如下: frontend ├─ config │ └ m ...
- yii2 restful api——app接口编程实例
<?php namespace common\components; use common\models\Cart; use common\models\User; use Yii; use y ...
- 所见即所得:七大无需编程的DIY开发工具
现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工具的出现,也帮助广大不具备专业知识和技术的“移动开发粉”创建自 ...
- Restful Api CRUD 标准示例 (Swagger2+validator)
为什么要写这篇贴? 要写一个最简单的CRUD 符合 Restful Api 规范的 一个Controller, 想百度搜索一下 直接复制拷贝 简单修改一下 方法内代码. 然而, 搜索结果让我无 ...
随机推荐
- Codeforces Round #647 (Div. 2) - Thanks, Algo Muse! D. Johnny and Contribution (贪心,模拟)
题意:有\(n\)个点,\(m\)条边,现在要给这些点赋值,,每次只能赋给某一点的四周(所连边)的最小没出现过的值.如果不能按照所给的数赋值,输出\(-1\),否则输出赋值顺序. 题解:我们用\(pa ...
- DQL 数据查询语言
查询数据(SELECT) # 查询所有数据 - 很危险,数据量过大,容易导致内存溢出而宕机 mysql> select * from student; # 先查询数据总量,然后决定是否可以查询所 ...
- java中string,stringBuffer和StringBuider
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下. 关于这三个类在字符串处理中的位置不言而喻,那 ...
- oranges-给mini os 添加内存管理,进程多级反馈队列,进程内存完整性度量
参考: 内存管理: https://www.jianshu.com/p/49cbaccd38c5 crc校验 https://www.cnblogs.com/zzdbullet/p/9580502.h ...
- CodeForces - 13E(分块)
Little Petya likes to play a lot. Most of all he likes to play a game «Holes». This is a game for on ...
- 833A The Meaningless Game
A. The Meaningless Game time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 008.NET5_IIS安装教程
控制面板->程序->启动或关闭Windows功能
- 图片转tfrecords
import numpy as np import tensorflow as tf import time import os import cv2 from sklearn.utils impor ...
- Lua 从入门到放弃
Lua 从入门到放弃 What is Lua? Lua is a powerful, efficient, lightweight, embeddable scripting language. It ...
- HTML5 dataset All In One
HTML5 dataset All In One dataset https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignEleme ...