文档章节

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

fastjrun
 fastjrun
发布于 06/21 00:01
字数 919
阅读 138
收藏 6

在具体项目研发过程中,一旦前后端双方约定好接口,前端和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

粉丝 22
博文 46
码字总数 19944
作品 3
海淀
架构师
私信 提问
快嘉接口 sdk 生成 Maven 插件 - sdkg

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

fastjrun
06/19
0
0
快嘉框架 v1.6 更新发布,J2EE 开发框架实例

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

fastjrun
03/12
1K
1
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

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
12
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
19
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
19
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
9
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部