文章目录
前言
对于neutron 开发的API,如何在openstack4j项目中进行接口封装,本篇博客会介绍一下开发流程及项目jar包打包流程。
开源项目:
https://github.com/openstack4j/openstack4j
环境: idea + maven(3.5.2) +java jdk (自行选择)
安装项目过程中可能会遇到一些问题,请参照这篇博客:
https://blog.csdn.net/qq_25919879/article/details/120901235
一、封装openstack4j开发流程
1.新增neutron接口对应的实体类及查询options类
list/get 接口返参(java项目中要求驼峰)
调neutron API对应的入参(@JsonProperty对应下划线格式参数 neutron入库必须传这种类型,实际参数为驼峰,java项目中调用查询接口规范是驼峰形式)
注意json key值和neutron API保持一致。
列表按条件查询时需要
2.创建 API接口和实现类
3.networkingService中定义接口名称、建立绑定关系
4.添加单测
5.功能代码目录结构
6. 代码文件说明
-
Add classes
core/src/main/java/org/openstack4j/model/network/ext/{Object}.java
core/src/main/java/org/openstack4j/model/network/ext/builder/{Object}Builder.java
core/src/main/java/org/openstack4j/model/network/options/{Object}Options.java
core/src/main/java/org/openstack4j/api/networking/ext/{Object}Service.java
core/src/main/java/org/openstack4j/openstack/networking/domain/ext/Neutron{Object}.java
core/src/main/java/org/openstack4j/openstack/networking/internal/ext/{Object}ServiceImpl.java -
Update classes
core/src/main/java/org/openstack4j/api/Builders.java
core/src/main/java/org/openstack4j/api/networking/NetworkingService.java
core/src/main/java/org/openstack4j/openstack/networking/internal/NetworkingServiceImpl.java
core/src/main/java/org/openstack4j/openstack/provider/DefaultAPIProvider.java -
Unit test
core-test/src/main/java/org/openstack4j/api/network/{Object}Tests.java
core-test/src/main/resources/network/{object}.json
core-test/src/main/resources/network/{objects}.json
二、openstack4j代码打成jar包
1. 选择OpenStack4j Parent 点击install(如果单测有报错的,可以选择跳过单测)
2. 找到本地maven目录,找到打包成功的jar文件
3.本地调试openStack4j代码
将第2步生成的jar包放到本地 gradle 缓存目录中,替换openstack4j jar包即可。
E:\Program Files\gradle-6.4.1\caches\modules-2\files-2.1\org.pacesys\openstack4j\3.3.0\f2ccbc7e21474fbd0059d346e497312ceca71508