调用openstack接口详解

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成;

在这里对opensatck不进行过多的介绍,直接回答在java项目中调用openstack接口,接收返回参数解析的问题,openstack官网API地址https://www.openstack.org/,可以用谷歌浏览器打开进行中文翻译,但多少会影响阅读参数语义,建议结合文档进行参数配置

java 使用openid获得用户信息 java openapi_当前用户


具体使用方法请自行百度;

找到opensatckDocumention左侧导航栏为具体请求方法以及细节划分包含网络,镜像,用户,等等接口详解,点击所需案例

java 使用openid获得用户信息 java openapi_java 使用openid获得用户信息_02


在这里对server接口进行案例讲解:

java 使用openid获得用户信息 java openapi_字段_03


如图可以看到请求方式有GET/POST两种,其中拼接参数为servers,

前缀请求地址要在部署服务器中获得,点击detail获取详细参数,

java 使用openid获得用户信息 java openapi_openstack_04


包含请求响应码,请求参数,其中optional为可选,参考数据库所需字段可填可不填,其中body字段为请求体中携带,path字段URL携带,

java 使用openid获得用户信息 java openapi_java 使用openid获得用户信息_05


请求示例中以JSON格式包含了server对象,name,flavorref,network(这里必须为对象形式),其他可不填,请求示例已经给出,怎么在这里测试呢?

我们需要结合Postman工具进行请求测试,具体下载地址请百度,在这里不做详解

如图其中post为请求方式,请求URL要拼接servers,请求体中拼接需要与示例中一致

java 使用openid获得用户信息 java openapi_openstack_06


当全部参数一一对应后,会返回json格式的响应码,看下api示例

java 使用openid获得用户信息 java openapi_openstack_07


在代码中需要Httpclient工具类对请求url进行编辑,请求头中需要携带Token信息需要注意的是,请求示例有版本限制,不同版本请求方式是不一样的,例如本段中networks属性示例虽然给出可选auto/none,但实际却强制需要填写[{uuid}]形式,需要对响应码进行解析,按所需字段进行保存,在进行调用接口时,需要注意,所需参数----> 当前用户创建的实例id 当前用户所创建镜像id 当前用户创建云主机id 当前用户创建所选networkid

今天就先到这里,有问题欢迎评论