Hello,crudapi?。愫茫鰟h改查接口?。?/h1>
本文通過(guò)學(xué)生對(duì)象為例,無(wú)需編程,通過(guò)配置實(shí)現(xiàn)CRUD RESTful API。
概要
CRUD簡(jiǎn)介
crud是指在做計(jì)算處理時(shí)的增加(Create)、檢索(Retrieve)、更新(Update)和刪除(Delete)幾個(gè)單詞的首字母簡(jiǎn)寫。crud主要被用在描述軟件系統(tǒng)中數(shù)據(jù)庫(kù)或者持久層的基本操作功能。
RESTfull API
REST(英文:Representational State Transfer,簡(jiǎn)稱REST)描述了一個(gè)架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),比如 web 應(yīng)用程序。它首次出現(xiàn)在 2000 年 Roy Fielding 的博士論文中,Roy Fielding是 HTTP 規(guī)范的主要編寫者之一。在目前主流的三種Web服務(wù)交互方案中,REST相比于SOAP(Simple Object Access protocol,簡(jiǎn)單對(duì)象訪問協(xié)議)以及XML-RPC更加簡(jiǎn)單明了,無(wú)論是對(duì)URL的處理還是對(duì)Payload的編碼,REST都傾向于用更加簡(jiǎn)單輕量的方法設(shè)計(jì)和實(shí)現(xiàn)。值得注意的是REST并沒有一個(gè)明確的標(biāo)準(zhǔn),而更像是一種設(shè)計(jì)的風(fēng)格通過(guò)RESTful API實(shí)現(xiàn),學(xué)生操作具體接口如下
| 操作 | REST ACTION | API |
|---|---|---|
| 添加學(xué)生 | POST | /api/business/students |
| 獲取學(xué)生詳情 | GET | /api/business/students/id |
| 修改學(xué)生 | PATCH | /api/business/students/id |
| 刪除學(xué)生 | DELETE | /api/business/students/id |
| 查詢學(xué)生 | GET | /api/business/students |
表設(shè)計(jì)
學(xué)生字段設(shè)計(jì)
通過(guò)后臺(tái)元數(shù)據(jù)管理UI設(shè)計(jì)學(xué)生表字段,主要包括名稱,學(xué)號(hào),年齡,專業(yè)等字段
基本屬性
對(duì)象名稱唯一識(shí)別不同的對(duì)象,對(duì)象復(fù)數(shù)用于URL路徑中的資源,物理表名稱最終為數(shù)據(jù)庫(kù)中的表名
字段屬性主要包括:名稱,類型,索引,長(zhǎng)度,精度等

更多屬性
包括:是否可以為空,默認(rèn)值,是否可以插入,是否可以編輯,是否可以查詢等

數(shù)據(jù)庫(kù)
通過(guò)查看mysql數(shù)據(jù)庫(kù),學(xué)生表ca_student已經(jīng)生成

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

以創(chuàng)建為例:/api/business/{name},其中name為對(duì)象名稱復(fù)數(shù)形式(兼容對(duì)象名稱)
業(yè)務(wù)數(shù)據(jù)
通過(guò)post man驗(yàn)證API
創(chuàng)建學(xué)生

請(qǐng)求URL
https://demo.crudapi.cn/api/business/students
請(qǐng)求body
{
"name":"諸葛亮",
"stuNo":"10000",
"age":18,
"major":"計(jì)算機(jī)科學(xué)與技術(shù)"
}
返回值1為id
查詢id為1的學(xué)生詳情

請(qǐng)求URL
https://demo.crudapi.cn/api/business/students/1
返回body
{
"id": 1,
"name": "諸葛亮",
"createdDate": 1613013249000,
"stuNo": "10000",
"age": 18,
"major": "計(jì)算機(jī)科學(xué)與技術(shù)"
}
通過(guò)UI操作
創(chuàng)建學(xué)生

獲取所有學(xué)生列表

其它操作
還有編輯,刪除等API類似,查看swager文檔即可!
小結(jié)
本文通過(guò)配置表單的方式實(shí)現(xiàn)了RESTful CRUD API,和傳統(tǒng)開發(fā)的方式對(duì)比如下:
| 實(shí)現(xiàn)方式 | 代碼量 | 時(shí)間 | 穩(wěn)定性 |
|---|---|---|---|
| 傳統(tǒng)開發(fā) | 1000行左右 | 2天/人 | 5個(gè)bug左右 |
| cruapi系統(tǒng) | 0行 | 1分鐘 | 基本為0 |
綜上所述,利用crudapi系統(tǒng)可以極大的提高工作效率和節(jié)約成本,讓數(shù)據(jù)處理變得更簡(jiǎn)單!
附demo演示
本系統(tǒng)屬于產(chǎn)品級(jí)的零代碼平臺(tái),不同于自動(dòng)代碼生成器,不需要生成Controller、Service、Repository、Entity等業(yè)務(wù)代碼,程序運(yùn)行起來(lái)就可以使用,真正0代碼,可以覆蓋基本的和業(yè)務(wù)無(wú)關(guān)的CRUD RESTful API。
官網(wǎng)地址:https://crudapi.cn
測(cè)試地址:https://demo.crudapi.cn/crudapi/login