电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot可視化接口開發工具magic-api的簡單使用教程

瀏覽:5日期:2023-03-04 08:32:02
目錄magic-api簡介使用在SpringBoot中使用增刪改查參數驗證結果轉換使用事務集成Swagger總結參考資料magic-api簡介

magic-api是一個基于Java的接口快速開發框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、Mapper、XML、VO等Java對象。

使用

下面我們來波實戰,熟悉下使用magic-api來開發API接口。

在SpringBoot中使用

magic-api原生支持SpringBoot,可與SpringBoot無縫整合。

首先在pom.xml中添加magic-api相關依賴;

<!--接口快速開發框架 magic-api--><dependency> <groupId>org.ssssssss</groupId> <artifactId>magic-api-spring-boot-starter</artifactId> <version>1.0.2</version></dependency> 在配置文件application.yml中添加數據源及magic-api相關配置;

spring: datasource: url: jdbc:mysql://localhost:3306/magic_api?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: rootmagic-api: # 配置api管理頁面入口 web: /magic/web # 配置存儲方式 resource: # 配置接口資源存儲位置,可選file、database、redis type: database # 存儲表名 tableName: magic_api_file # 使用database、redis存儲時的key前綴 prefix: /magic-api # 是否是只讀模式 readonly: false # 啟用駝峰命名轉換 sql-column-case: camel # 分頁配置 page-config: # 頁大小的請求參數名稱 size: size # 頁碼的請求參數名稱 page: page # 未傳頁碼時的默認頁碼 default-page: 1 # 未傳頁大小時的默認頁大小 default-size: 10 在MySQL中創建數據庫magic_api,由于我們配置了使用數據庫存儲接口資源,所以需要先創建magic_api_file表;

CREATE TABLE `magic_api_file`( `id` bigint(255) NOT NULL AUTO_INCREMENT, `file_path` varchar(255) DEFAULT NULL, `file_content` text, PRIMARY KEY (`id`)) 再創建pms_brand表,用于測試;

CREATE TABLE `pms_brand` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `big_pic` varchar(255) DEFAULT NULL, `brand_story` varchar(255) DEFAULT NULL, `factory_status` bit(1) DEFAULT NULL, `first_letter` varchar(255) DEFAULT NULL, `logo` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `product_comment_count` int(11) DEFAULT NULL, `product_count` int(11) DEFAULT NULL, `show_status` bit(1) DEFAULT NULL, `sort` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4; 最后啟動項目,訪問magic-api的UI界面,訪問地址:http://localhost:8080/magic/web

SpringBoot可視化接口開發工具magic-api的簡單使用教程

增刪改查

接下來我們將以商品品牌管理為例,體驗下使用magic-api開發接口的快感!使用magic-api開發API接口,僅需在界面中使用magic-script腳本即可。

首先我們來寫個新增接口,先創建一個分組,然后在分組中創建一個新增接口,在編輯框中輸入如下腳本;

// 使用body對象可以直接獲取請求body中的參數return db.table(’pms_brand’).insert(body); 在底部的接口信息中進行如下配置,POST請求,請求路徑為/create,請求參數放在請求body中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

再來個根據ID查詢的接口,在編輯框中輸入如下腳本;

// 路徑變量從path對象中獲取return db.table(’pms_brand’) .where() .eq(’id’,path.id) .selectOne(); 在底部的接口信息中進行如下配置,GET請求,請求路徑為/detail/{id},請求參數放在路徑變量中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

再來個修改的接口,在編輯框中輸入如下腳本;

return db.table(’pms_brand’).primary(’id’,body.id).update(body); 在底部的接口信息中進行如下配置,POST請求,請求路徑為/update,請求參數放在請求body中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

再來個分頁查詢查詢的接口,在編輯框中輸入如下腳本;

return db.table(’pms_brand’).page(); 在底部的接口信息中進行如下配置,GET請求,請求路徑為/page,請求參數放在請求參數中(由于已經在application.yml中配置好了分頁參數,可直接使用);

SpringBoot可視化接口開發工具magic-api的簡單使用教程

再來個根據ID刪除的接口,在編輯框中輸入如下腳本,刪除只能使用update,這設計有點...

return db.update(’delete from pms_brand where id=#{id}’); 在底部的接口信息中進行如下配置,POST請求,請求路徑為/delete/{id},請求參數放在路徑變量中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

參數驗證

我們可以通過斷言模塊assert來進行參數驗證。

比如新增品牌的時候名稱和首字母不能為空,在編輯框中輸入如下腳本;

import assert; //導入斷言模塊//驗證不通過時,會終止運行assert.notEmpty(body.name,400,’名稱不能為空!’);assert.notEmpty(body.firstLetter,400,’首字母不能為空!’);return db.table(’pms_brand’).insert(body); 在底部的接口信息中進行如下配置,POST請求,請求路徑為/test,請求參數放在請求body中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

當我們不添加name字段時,調用接口會返回我們自己定義的錯誤信息和狀態碼。

SpringBoot可視化接口開發工具magic-api的簡單使用教程

結果轉換

我們可以使用map方法對查詢數據進行轉換,返回我們想要的數據。

比如我們想將showStatus轉換為中文說明,并只返回三個需要的字段,在編輯框中輸入如下腳本;

var list = db.table(’pms_brand’).select();return list.map((item)=>{ name : item.name, firstLetter : item.firstLetter, showStatus : item.showStatus? ’不顯示’ : ’顯示’}); 訪問該接口,在執行結果中可以發現,返回結果已經轉換。

SpringBoot可視化接口開發工具magic-api的簡單使用教程

使用事務

在我們使用Java開發接口的時候,少不了用到事務,當然magic-api也是支持事務的。使用db.transaction()方法即可,支持自動事務和手動事務。

還是以修改品牌為例,先查詢是否存在,如果存在則更新;

import assert; var val = db.transaction(()=>{ var exist = db.table(’pms_brand’).where().eq(’id’,body.id).selectOne(); assert.notNull(exist,404,’找不到該品牌!’); db.table(’pms_brand’).primary(’id’,body.id).update(body); return v2;});return val; 在底部的接口信息中進行如下配置,POST請求,請求路徑為/test,請求參數放在請求body中;

SpringBoot可視化接口開發工具magic-api的簡單使用教程

集成Swagger

寫了那么多接口,都是在magic-api的界面中進行調試的。如果你習慣使用Swagger,magic-api也可以和Swagger進行無縫整合。

首先在pom.xml中添加Swagger相關依賴;

<dependencies> <!--Swagger-UI API文檔生產工具--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version> </dependency> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version> </dependency></dependencies> 在配置文件application.yml中添加Swagger相關配置;

magic-api: # 集成Swagger配置 swagger-config: # 文檔名稱 name: MagicAPI 測試接口 # 文檔標題 title: MagicAPI Swagger Docs # 文檔描述 description: MagicAPI 測試接口信息 # 文檔版本號 version: 1.0 # 文檔資源位置 location: /v2/api-docs/magic-api/swagger2.json 訪問Swagger界面即可查看我們在magic-api中寫的接口了,訪問地址:http://localhost:8080/swagger-ui.html

SpringBoot可視化接口開發工具magic-api的簡單使用教程

總結

magic-api是個很有意思的框架,可以通過在UI界面中使用簡單的腳本,進行API接口的開發。不過作為一款小眾框架,magic-api還有很長一段路要走!

參考資料

官方文檔:https://ssssssss.org/

項目源碼地址https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-magic-api

以上就是SpringBoot可視化接口開發工具magic-api的簡單使用教程的詳細內容,更多關于SpringBoot magic-api的使用的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
主站蜘蛛池模板: 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 深圳湾1号房价_深圳湾1号二手房源 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 郑州水质检测中心_井水检测_河南废气检测_河南中环嘉创检测 | 新疆散热器,新疆暖气片,新疆电锅炉,光耀暖通公司 | 浙江上沪阀门有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 圆盘鞋底注塑机_连帮鞋底成型注塑机-温州天钢机械有限公司 | 压力喷雾干燥机,喷雾干燥设备,柱塞隔膜泵-无锡市闻华干燥设备有限公司 | 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 破碎机_上海破碎机_破碎机设备_破碎机厂家-上海山卓重工机械有限公司 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 北京工业设计公司-产品外观设计-产品设计公司-千策良品工业设计 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 |