apiworld使用说明

apiworld项目说明(https://gitee.com/fastjrun/apiworld

apiworld是一个多模块的maven项目,其中apiworld.xml是接口定义文档;apiworld.pdm是数据库定义文件;Base是apiworld.pdm中单表对应的javabean、dao、service和controller代码;Bundle是apiworld.xml文档定义接口对应的的接口代码、业务接口,业务请求和响应类,业务接口实现Mock;SDK是apiworld.xml文档定义接口对应的的客户端接入代码及基于testng的单元测试用例代码;BundleMock是apiworld.xml文档定义接口对应的的接口代码、业务接口,业务请求和响应类,业务接口实现Mock,其中接口代码、业务请求和响应类有swagger注解;ApiBuffle是一个web主应用,它依赖于BundleMock,打包后可以直接部署到tomcat下启动,ApiBuffle集成了swagger2风格接口文档展示视图,支持接口的即时联调。

准备windows开发环境

下载ciHelper1.8版本,install本地

#以下操作需要在git bash中执行
cd d:/workshop
git clone https://gitee.com/fastjrun/ciHelper.git
cd ciHelper
git checkout v1.8
mvn clean install

注:码云站点证书可能有点问题,有可能会报fatal: unable to access 'https://gitee.com/fastjrun/ciHelper.git/': SSL certificate problem: certificate is not yet valid;执行下面语句即可

#以下操作需要在git bash中执行
git config --global http.sslVerify false

下载ciAgent版本,install到本地

#以下操作需要在git bash中执行
cd d:/workshop
git clone https://gitee.com/fastjrun/ciagent.git
cd ciagent
git checkout v1.2
#先install本地cidev-sdk和xercesImpl
cd lib
mvn install:install-file -Dfile=cidev-sdk-1.3-SNAPSHOT.jar -DgroupId=com.fastjrun -DartifactId=cidev-sdk -Dversion=1.3-SNAPSHOT -Dpackaging=jar
mvn install:install-file -Dfile=xercesImpl-2.9.1.jar -DgroupId=xerces -DartifactId=xercesImpl -Dversion=2.9.1 -Dpackaging=jar
cd ..
mvn clean install

apiworld项目中Bundle、BundleMock、SDK模块是通过快嘉网提供的服务动态生成的,ciAgent是一个maven插件,作为代理和快嘉网发生交互,具体如何发生作用可以看ciAgent代码。ciAgent如何用可以参考Base、Bundle、BundleMock、SDK模块中的pom.xml配置。

下载apiworld

#以下操作需要在git bash中执行
cd d:/workshop
git clone https://gitee.com/fastjrun/apiworld.git
cd apiworld
git checkout v1.2
mvn clean install -pl .,BundleMock -Dcommongc.skip=false
mvn clean package -pl ApiBuffle

备注: 如果没有配置私服,且第一次用maven,可能会比较慢,而且会容易被中断,多试几次,直到你看到以上步骤全部OK;如果你使用阿里云的私服地址(http://maven.aliyun.com/nexus/content/groups/public)做mirror也可以加快这个进度。
从个人实践来看我还是强烈推荐用私服,这样你可以将以上所有install命令或者deploy(除cidev-sdk和xercesImpl需要upload到私服),考虑到你可能上私服,我在所有的pom里放的distributionManagement节点配置的私服地址是http://www.mycompany.com,你只需要在hosts文件里将这个域名www.mycompany.com指向你的私服地址即可;如果你的私服是带端口号的,那么可以参考如下命令,将参数mycompany-nexus带入命令中,这个参数指向你的私服地址 mvn clean deploy -Dmycompany-nexus=http://127.0.0.1:8081

部署

  • 安装tomcat后,tomcat目录为d:/app/server/tomcat8
  • 配置
cd d:/workshop/apiworld
#以下操作需要在git bash中执行
cp ApiBuffle/target/apiworld-api-buffle.war /d/server/tomcat8/webapps

启动

  • 资源浏览器打开d:/server/tomcat8/bin;双击startup.sh,启动tomcat。

验证ApiBuffle的swagger2规范的接口文档视图

验证SDK

#以下操作需要在git bash或者dos窗口中执行(ApiBuffle在tomcat中已部署,正常启动)
cd d:/workshop/apiworld
mvn clean package -pl SDK -Dcommongc.skip=false -DskipTests=false

代码生成服务能力

  • apiworld.xml维护了接口定义、输入参数定义、返回参数定义,apiworld项目中的SDK、BundleMock和Bundle模块代码都基于该文档生成。

备注

  • ./pom.xml中定义了如下几个profile
    • nocheck:忽略测试
    • apiworld:本工程响应参数配置
  • ./SDK/pom.xml中定义了如下几个profile,可以分别对应指定的环境;如果要启用测试,需要显示加参数skipTests=false或者去掉id为nocheck的profile
  • commongc.skip默认为true,也就是说不显示加这个参数的话,在以上操作中,代码不会自动生成,建议接口定义文档不更新的话,最好不要调用代码生成服务;

转载于:https://my.oschina.net/fastjrun/blog/1239978

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值