文档章节

使用快嘉sdkg极速搭建接口模拟系统

fastjrun
 fastjrun
发布于 06/21 00:01
字数 919
阅读 131
收藏 6
点赞 0
评论 0

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编写代码、调试、集成和真正跑起来这还有好多工作要做呢,更别说配合前端和app同事进行联调了。

这里提供一个快嘉sdkg极速搭建接口模拟系统的方法。这个接口模拟系统基于spring boot实现,集成了swagger-ui,并提供了简单的mock服务,既可以作为接口文档服务器使用,也可以提供app同事和前端进行简单的联调。

前提

  • os:win7 64bit
  • user:Adminstrator
  • jdk:1.8
  • maven:apache-maven-3.2.2

具体环境信息可参看下图

快嘉sdkg安装

下载源码并安装到本地maven仓库

git clone https://github.com/fastjrun/sdkg.git
cd sdkg
mvn clean install

安装成功后显示如下图,这个过程可能会比较慢也可能会中断,多执行几遍就好了。

构建默认的接口模拟系统

进入sdkg目录中的api-mock目录

#确认api-mock下的文件
tree /F
api-mock
│  pom.xml
│
└─src
   └─main
        └─otherjava
             └─com
                 └─fastjrun
                     └─demo
                        FastjrunApplication.java

api-mock目录下只有两个文件及其组织关系如上所示。

api-mock目录下的pom.xml文件

<plugin>
    <groupId>com.fastjrun.share</groupId>
    <artifactId>sdkg-helper</artifactId>
    <version>${sdkg.version}</version>
    <executions>
    	<execution>
    		<id>initialize phase</id>
    		<phase>initialize</phase>
    		<goals>
    			<goal>bundleMockgc</goal>
    		</goals>
    		<configuration>
    			<bundleFiles>../app-client.xml,../generic-client.xml,../api-client.xml</bundleFiles>
    			<bundleMockDir>.</bundleMockDir>
    			<packagePrefix>com.alibaba.testsdk.</packagePrefix>
    		</configuration>
    	</execution>
   </executions>
</plugin>

该插件是用来生成接口相关代码的,其配置的bundleFiles属性默认为"../app-client.xml,../generic-client.xml,../api-client.xml",接口定义维护在这三个文件中。

构建默认的接口模拟系统并启动

mvn clean package -Dbmgc.skip=false #默认bmgc.skip为true,不生成代码

本次一共生成37份源代码文件。
java -jar target/api-mock.jar
用浏览器访问http://localhost:8080/swagger-ui.html 显示如下

显然这是一个满足swagger风格的接口系统。 展开“基本接口 : App Version Generic Controller”

进入本类接口下的/generic/version/login接口界面,查看具体的接口参数和响应报文

填入request,try一下,可以看到返回值哦

减少接口文件,重新构建接口模拟系统

修改api-mock目录下的pom.xml文件

<plugin>
    <groupId>com.fastjrun.share</groupId>
    <artifactId>sdkg-helper</artifactId>
    <version>${sdkg.version}</version>
    <executions>
    	<execution>
    		<id>initialize phase</id>
    		<phase>initialize</phase>
    		<goals>
    			<goal>bundleMockgc</goal>
    		</goals>
    		<configuration>
    			<bundleFiles>../generic-client.xml</bundleFiles>
    			<bundleMockDir>.</bundleMockDir>
    			<packagePrefix>com.alibaba.testsdk.</packagePrefix>
    		</configuration>
    	</execution>
   </executions>
</plugin>

该插件其配置的bundleFiles调整为"../generic-client.xml",这次只希望生成父目录下generic-client.xml中定义接口。这里可以看到bundleFiles支持多个接口文件作为参数,用“,”分隔。

构建新接口模拟系统并启动

mvn clean package -Dbmgc.skip=false #默认bmgc.skip为true,不生成代码

本次一共生成13份源代码文件。 java -jar target/api-mock.jar 用浏览器访问 http://localhost:8080/swagger-ui.html 显示如下

显然这次生成的接口只剩下“基本接口 : App Version Generic Controller”

调整接口文件,重新构建接口模拟系统

../generic-client.xml文件内容可以参考快嘉sdkg使用手册(四)--接口定义指南进行调整,调整后重新生成代码并启动即可。

© 著作权归作者所有

共有 人打赏支持
fastjrun

fastjrun

粉丝 21
博文 40
码字总数 19944
作品 3
海淀
架构师
快嘉接口 sdk 生成 Maven 插件 - sdkg

随着移动应用APP普及、前后端技术分离,微服务化架构盛行,RESTful风格的接口已经在大行其道;而今年开始AI、物联网和云计算的蓬勃发展又加速了人机互联、物物互联的趋势,将RESTful风格的接...

fastjrun
06/19
0
0
IT小喇叭小程序:加速企业电商化 助力企业品牌升级

【IT小喇叭报道】微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“×××”的梦想,用户扫一扫或搜一下即可打开应用。企业、政府、媒体、其他组织或个人均可申请注册小程序。小...

itxiaolaba
04/07
0
0
Docker下ELK三部曲之一:极速体验

《Docker下ELK三部曲》一共三篇文章,为您揭示如何快速搭建ELK环境,以及如何将web应用的日志上报到ELK用,三部曲内容简述如下: 1. 极速体验ELK服务,即本章的内容; 2. 细说技术详情,例如...

boling_cavalry
04/15
0
0
快嘉开发框架 1.1 发布,J2EE 开发框架实例

快嘉开发框架1.1在1.0的基础上新增了Common、Util组件,将RestController组件换成了Bundle组件,此外新增了基于spring mvc和freemarker的web系统。web系统提供了对单表对象的简单操作集合,包...

fastjrun
2016/08/17
2.3K
5
J2EE 开发框架实例--快嘉 Demo

快嘉开发框架将一个标准的J2EE项目拆分为基础组件(Base)、持久层组件(Persistence-Impl)、接口和业务定义组件(RestController)、业务实现组件(Service-Impl)、批处理系统(Batch)、接口系统...

fastjrun
2016/03/21
2.3K
0
微信小程序开发过程中遇到的支付问题

Thinkphp+Layui响应式后台权限管理系统 专注打造好用的框架,极速开发,高效灵活,从架构上兼顾系统复杂度的迭代与需求多变。代码结构清晰,接口开发,微信公众号,小程序。按照微信官方提供...

java大神66
06/27
0
0
快嘉开发框架1.0和示例介绍及使用说明

快嘉开发框架1.0和示例介绍 快嘉开发框架将一个标准的J2EE项目拆分为基础组件(Base)、持久层组件(Persistence-Impl)、接口和业务定义组件(RestController)、业务实现组件(Service-Impl)、批处...

fastjrun
2016/03/19
160
1
违规软件再添新业务,秒变直播僵尸粉刷量造假

  0×1 概述   腾讯御见威胁情报中心监测发现速浪系列软件突然异常活跃,异常联网行为明显增加,监控数据表明,受该软件家族影响的电脑约50万台。遂对引发该异常的速浪输入法、速浪桌面、...

FreeBuf
07/13
0
0
迅雷快鸟浏览器插件发布 率先入驻360

  【IT168 资讯】迅雷快鸟近日宣布,在客户端之外,推出了针对浏览器的扩展应用(即插件),方便用户快捷使用快鸟服务。目前迅雷快鸟插件已经上架360安全浏览器、360极速浏览器应用市场,未来...

it168网站
2017/03/02
0
0
极速开发框架 sumk 1.7.8 发布

sumk的特点跟spring boot有些类似,追求的是追求的是极速编程与高性能扩展的结合。但是sumk的配置更简单、开发更快、连启动速度都比spring boot快很多(尤其是在调试阶段,会省很多时间)。 ...

游夏-sumk
2017/08/21
2.5K
9

没有更多内容

加载失败,请刷新页面

加载更多

下一页

垃圾回收算法

一 如何判断对象可以回收 1 引用计数法 思路大概为:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计算器为0的对象就是不可能再被使用...

sen_ye
9分钟前
0
0
Activiti简介(学习总结一)

一、介绍 activiti是使用命令模式设计基于bpmn2.0的一款开源工作流引擎。 工作流简单举例:提交请假申请->经理审批->结束。这就是一个简单流程。activiti支持用户自定义流程。配置各个流程对...

沙shasha
9分钟前
0
0
VCL界面控件DevExpress VCL Controls发布v18.1.3|附下载

DevExpress VCL Controls是 Devexpress公司旗下最老牌的用户界面套包。所包含的控件有:数据录入,图表,数据分析,导航,布局,网格,日程管理,样式,打印和工作流等,让您快速开发出完美、...

Miss_Hello_World
10分钟前
0
0
加米谷大数据培训:云计算、大数据和人工智能之间的关系

一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。 一、云计算最初的目标 云计算最初的目标是对资源的管理,管...

加米谷大数据
15分钟前
1
0
java集合元素的默认大小

当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使...

竹叶青出于蓝
17分钟前
1
0
Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+BootstrapTable列表\ ElementUI列表表单)...

Jeecg
21分钟前
0
0
export 和 module.export 的区别

在浏览器端 js 里面,为了解决各模块变量冲突等问题,往往借助于 js 的闭包把左右模块相关的代码都包装在一个匿名函数里。而 Nodejs 编写模块相当的自由,开发者只需要关注 require,exports,...

孟飞阳
23分钟前
1
0
技术教育的兴起

技术教育的兴起 作者: 阮一峰 1、 有一年,我在台湾环岛旅行。 花莲的海边,我遇到一对台湾青年夫妻,带着女儿在海滩上玩。我们聊了起来。 当时,我还在高校当老师。他们问我,是否觉得台湾...

吕伯文
23分钟前
0
0
Linux服务器下的HTTP抓包分析

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,...

mylxsw
28分钟前
0
0
mybatis3-javaapi

sqlSessionFactoryBuilder->sqlSessionFactory->sqlSession<-rowbound<-resultHandler myBatis uses a Java enumeration wrapper for transaction isolation levels, called TransactionIsol......

writeademo
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部