基于开源项目OpenStack4j进行二次开发(实现neutron API的封装)

  • Post author:
  • Post category:其他





前言


对于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. 代码文件说明

  1. 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
  2. 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
  3. 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

在这里插入图片描述



版权声明:本文为qq_25919879原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。