博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apiworld使用说明
阅读量:5967 次
发布时间:2019-06-19

本文共 2797 字,大约阅读时间需要 9 分钟。

hot3.png

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:/workshopgit clone https://gitee.com/fastjrun/ciHelper.gitcd ciHelpergit checkout v1.8mvn clean install

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

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

下载ciAgent版本,install到本地

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

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

下载apiworld

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

备注: 如果没有配置私服,且第一次用maven,可能会比较慢,而且会容易被中断,多试几次,直到你看到以上步骤全部OK;如果你使用阿里云的私服地址做mirror也可以加快这个进度。

从个人实践来看我还是强烈推荐用私服,这样你可以将以上所有install命令或者deploy(除cidev-sdk和xercesImpl需要upload到私服),考虑到你可能上私服,我在所有的pom里放的distributionManagement节点配置的私服地址是,你只需要在hosts文件里将这个域名www.mycompany.com指向你的私服地址即可;如果你的私服是带端口号的,那么可以参考如下命令,将参数mycompany-nexus带入命令中,这个参数指向你的私服地址 mvn clean deploy -Dmycompany-nexus=

部署

  • 安装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规范的接口文档视图

  • 验证apiworld-api-buffle,用普通浏览器打开
    输入图片说明

验证SDK

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

代码生成服务能力

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

备注

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

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

你可能感兴趣的文章
python基础学习笔记(九)
查看>>
BaaS API 设计规范
查看>>
bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理...
查看>>
iOS开发UI篇—Quartz2D使用(矩阵操作)
查看>>
C++ 构造函数与析构函数
查看>>
vue-lazyload vue图片懒加载插件的使用记录
查看>>
java.lang.UnsupportedClassVersionError
查看>>
centos 5.4 nfs服务器搭建
查看>>
jquery获取父级元素和子级元素
查看>>
定时压缩log日志文件
查看>>
[yum]Another app is currently holding the yum lock
查看>>
远端仓库初始化成裸仓库 git init --bare
查看>>
php自动生产静态页
查看>>
DataUml Design 介绍11 - DataUML 1.5版本功能-支持无Oracle客户端
查看>>
我的友情链接
查看>>
你一个人能独处多久
查看>>
Octopress使用中经验总结
查看>>
spring结合ehcache-spring-annotations配置缓存
查看>>
一个简单的数据库工具类
查看>>
我的友情链接
查看>>