使用Java RestTemplate调用Cuchulainn Pod 接口获取资源池列表

本文将介绍如何使用Java RestTemplate库调用Cuchulainn平台的Pod接口,获取资源池列表信息并进行解析和打印。

接口路径: http://100.71.8.94:32600/cuchulainn/openapi/asset/Pod

Basic Auth认证:

  • Username: admin
  • Password: admin5

代码实现:

RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setBasicAuth('admin', 'admin5');
HttpEntity<String> entity = new HttpEntity<>(headers);
String url = 'http://100.71.8.94:32600/cuchulainn/openapi/asset/Pod';
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
String responseBody = responseEntity.getBody();
JSONObject jsonObject = JSON.parseObject(responseBody);
JSONArray jsonArray = jsonObject.getJSONObject('data').getJSONArray('list');
List<JSONObject> list = jsonArray.toJavaList(JSONObject.class);
for (JSONObject obj : list) {
    System.out.println(obj.toJSONString());
}

代码解析:

  1. 创建一个RestTemplate对象,用于发送HTTP请求。
  2. 创建一个HttpHeaders对象,设置Basic Auth认证信息。
  3. 创建一个HttpEntity对象,将HttpHeaders对象和请求体(此处为空)封装在一起。
  4. 定义接口URL。
  5. 使用RestTemplate的exchange方法发送GET请求,并指定返回类型为String。
  6. 获取响应体并使用JSON.parseObject解析为JSONObject对象。
  7. 从JSONObject对象中获取data节点下的list节点,并解析为JSONArray对象。
  8. 将JSONArray对象转换为List对象。
  9. 遍历List对象,打印每个资源池的详细信息。

示例返回值:

{'data':{'list':[{'persistedAt':1647849731997,'resourceId':'b607b656951d4106a3ffd6925f37cb5d','code':'CPC-RP-NZD-02','description':'宁波-四期-POD11(裸金属资源池)','type':'BM','uuid':'b607b656951d4106a3ffd6925f37cb5d','projectStatus':'0','createdAt':1647849731000,'manageType':'DIRECTLY','province':'NZD','createdBy':'','name':'宁池-四期-POD11(BM)','shortName':'宁池-POD11-2','reportSource':'epc','updatedAt':1647849731000,'status':'ONLINE'},{'persistedAt':1667826600767,'resourceId':'bd8407a35e774977b6b3d20aecfa9115','code':'CPC-RP-NM-29','description':'呼池-GJ-PODM1','type':'MANAGE_SERVER','uuid':'bd8407a35e774977b6b3d20aecfa9115','projectStatus':'1','createdAt':1667813900000,'manageType':'MANAGE_SERVER','province':'NM','createdBy':'','name':'呼池-GJ-PODM1','shortName':'呼池-PODM1-2','reportSource':'epc','updatedAt':1667813900000,'status':'ENGINEERING'},{'persistedAt':1667826600694,'resourceId':'4db9ed68fe914b2cabdff4dc87a436ff','code':'CPC-RP-ZHD-26','description':'航池-GJ-POD4(ST)','type':'ST','uuid':'4db9ed68fe914b2cabdff4dc87a436ff','projectStatus':'1','createdAt':1667806204000,'manageType':'STORAGE_SERVER','province':'ZHD','createdBy':'','name':'航池-GJ-POD4(ST)','shortName':'航池-POD4-2','reportSource':'epc','updatedAt':1667806204000,'status':'ENGINEERING'},{'persistedAt':1654569715844,'resourceId':'867984af19fc41fc954b406dddcc2e59','code':'CPC-RP-NMG-03','description':'内蒙古-呼和浩特资源池-POD2 (裸金属)','type':'BM','uuid':'867984af19fc41fc954b406dddcc2e59','createdAt':1654569716000,'manageType':'DIRECTLY','province':'NMG','createdBy':'','name':'内蒙古-呼和浩特资源池-POD2 (BM)','reportSource':'epc','updatedAt':1654569716000,'status':'normal'},{'persistedAt':1657678001204,'resourceId':'2e0ddcff4362453ba98736b645f2a71f','code':'CPC-RP-NM-18','description':'呼和浩特 POD15(裸金属)','type':'BM','uuid':'2e0ddcff4362453ba98736b645f2a71f','projectStatus':'0','createdAt':1657678001000,'manageType':'DIRECTLY','province':'NM','createdBy':'','name':'呼池-POD15(BM)','shortName':'呼池-POD15-1','reportSource':'epc','updatedAt':1657678001000,'status':'ONLINE'},{'persistedAt':1650942510182,'resourceId':'1aaca64bfaa2410eb0121610d012f5ea','code':'CPC-RP-AH-18','description':'安徽-合肥资源池-POD7(KVM虚拟化)','type':'KVM','uuid':'1aaca64bfaa2410eb0121610d012f5ea','createdAt':1650942509000,'manageType':'DIRECTLY','province':'AH','createdBy':'','name':'安徽-合肥资源池-POD7(KVM)','reportSource':'epc','updatedAt':1650942509000,'status':'normal'},{'resourceId':'19d09f4864444ae9833e74230a4b1c40','code':'CPC-RP-ZGD-13','description':'郑州 POD7(裸金属-KVM虚拟化)','type':'BM_KVM','uuid':'19d09f4864444ae9833e74230a4b1c40','projectStatus':'0','createdAt':1618303261000,'manageType':'DIRECTLY','province':'ZGD','createdBy':'','name':'郑池-POD7(BM/KVM)','shortName':'郑池-POD7-1','reportSource':'epc','updatedAt':1618303261000,'status':'ONLINE'},{'persistedAt':1672300150884,'resourceId':'cacf869174e64eaeba0080b2fd9fd34d','code':'CPC-RP-JS-29','description':'江苏-六合龙池-POD45(BM)','type':'BM','uuid':'cacf869174e64eaeba0080b2fd9fd34d','createdAt':1672300150000,'manageType':'DIRECTLY','province':'JS','createdBy':'','name':'江苏-六合龙池-POD45(BM)','reportSource':'epc','updatedAt':1672300150000,'status':'normal'},{'persistedAt':1649901852356,'resourceId':'f4ce8382ef9e471e8a35d29510998ac3','code':'CPC-RP-BJ-07','description':'北京-望京-POD7(裸金属)','type':'BM','uuid':'f4ce8382ef9e471e8a35d29510998ac3','createdAt':1649901852000,'manageType':'DIRECTLY','province':'BJ','createdBy':'','name':'北京-望京-POD7(BM)','reportSource':'epc','updatedAt':1649901852000,'status':'normal'},{'resourceId':'5bdf6cf28ea94c418d1db22125bb2cae','code':'CPC-RP-NHD-01','description':'杭州湾 POD3(VMware虚拟化)','type':'VM','uuid':'5bdf6cf28ea94c418d1db22125bb2cae','projectStatus':'0','createdAt':1600845383000,'manageType':'DIRECTLY','province':'NHD','createdBy':'','virtualSoftType':'1','name':'杭池-POD3(VM)','shortName':'杭池-POD3-1','reportSource':'epc','updatedAt':1600845387000,'status':'ONLINE'},{'resourceId':'3395f653092b4af89fe4e2aef31bdfe2','code':'CPC-RP-NZD-21','description':'宁波 三期POD7(裸金属)','type':'BM','uuid':'3395f653092b4af89fe4e2aef31bdfe2','projectStatus':'0','createdAt':1617869851000,'manageType':'DIRECTLY','province':'NZD','createdBy':'','name':'宁池-三期-POD7(BM)','shortName':'宁池-POD7-2','reportSource':'epc','updatedAt':1617869851000,'status':'ONLINE'},{'persistedAt':1667826600924,'resourceId':'00bb8a3177174cda884736554786c302','code':'CPC-RP-NM-28','description':'呼池-GJ-POD4(ST)','type':'ST','uuid':'00bb8a3177174cda884736554786c302','projectStatus':'1','createdAt':1667813878000,'manageType':'STORAGE_SERVER','province':'NM','createdBy':'','name':'呼池-GJ-POD4(ST)','shortName':'呼池-POD4-2','reportSource':'epc','updatedAt':1667813878000,'status':'ENGINEERING'},{'persistedAt':1655429467882,'resourceId':'a008eee1a995451da762c4f76b590ead','code':'CPC-RP-JS-26','description':'江苏-无锡太科园-POD43(裸金属)','type':'BM','uuid':'a008eee1a995451da762c4f76b590ead','createdAt':1655429468000,'manageType':'DIRECTLY','province':'JS','createdBy':'','name':'江苏-无锡太科园-POD43(BM)','reportSource':'epc','updatedAt':1655429468000,'status':'normal'},{'resourceId':'9bc117857079446a8a9bb153df3e61b4','code':'CPC-RP-XZ-05','description':'西藏-拉萨金珠中路-POD5(KVM虚拟化)','type':'KVM','uuid':'9bc117857079446a8a9bb153df3e61b4','createdAt':1629185599000,'manageType':'DIRECTLY','province':'XZ','createdBy':'','name':'西藏-拉萨金珠中路-POD5(KVM)','reportSource':'epc','updatedAt':1629185599000,'status':'normal'},{'persistedAt':1667826600952,'resourceId':'41169b16517e45cb8a159d9d0cb093cd','code':'CPC-RP-ZHD-25','description':'航池-GJ-POD3(BM)','type':'BM','uuid':'41169b16517e45cb8a159d9d0cb093cd','projectStatus':'0','createdAt':1667806133000,'manageType':'DIRECTLY','province':'ZHD','createdBy':'','name':'航池-GJ-POD3(BM)','shortName':'航池-POD3-2','reportSource':'epc','updatedAt':1667806133000,'status':'ONLINE'},{'resourceId':'2bd9dafc2004c1f37dcbc94714ca069f','code':'CPC-RP-SC-06','city':'Chengdu','description':'四川-成都百草路-POD6(XEN虚拟化)','cuchulainn_tag8':'','type':'XEN','uuid':'eddf558eaa8f498494a71cb13defcc61','createdAt':1594886905000,'manageType':'SINGLE','province':'SC','totalBandwidth':0,'virtualSoftType':'2','assetAdministrator':'Huawei','name':'四川-成都百草路-POD6(XEN)','reportSource':'epc','updatedAt':1597910364000,'status':'normal'},{'resourceId':'fa16ce9cdf95db6ff79a13e697382590','code':'CPC-RP-SC-03','city':'Chengdu','description':'四川-成都马鞍东路-POD3(XEN虚拟化)','cuchulainn_tag8':'','type':'XEN','uuid':'7ff469ba4bff4bb3b9d5a8690a2208d5','createdAt':1594886905000,'manageType':'SINGLE','province':'SC','totalBandwidth':0,'virtualSoftType':'2','assetAdministrator':'Huawei','name':'四川-成都马鞍东路-POD3(XEN)','reportSource':'epc','updatedAt':1597910364000,'status':'normal'},{'resourceId':'fde94c5692de54c4e9975cd6b5ca9d9d','code':'CPC-RP-SC-05','city':'Chengdu','description':'四川-成都百草路-POD5(XEN虚拟化)','cuchulainn_tag8':'','type':'XEN','uuid':'71c61af2d2944680bee0c50752524c83','createdAt':1594886905000,'manageType':'SINGLE','province':'SC','totalBandwidth':0,'virtualSoftType':'2','assetAdministrator':'Huawei','name':'四川-成都百草路-POD5(XEN)','reportSource':'epc','updatedAt':1597910364000,'status':'normal'},{'resourceId':'5f68a8a7eebccfd6a1f310be8ee97c11','code':'CPC-RP-SC-11','city':'Chengdu','description':'四川-成都百草路-POD11(VMware虚拟化)','cuchulainn_tag8':'','type':'VM','uuid':'86bf9ac4012e4d21ac884e0494c84916','createdAt':1594886905000,'manageType':'SINGLE','province':'SC','totalBandwidth':0,'virtualSoftType':'1','assetAdministrator':'VMware','name':'四川-成都百草路-POD11(VM)','reportSource':'epc','updatedAt':1594886915000,'status':'normal'},{'resourceId':'4c2bfc015091c2116bcee52e5594ccd6','code':'CPC-RP-SC-02','city':'Chengdu','description':'四川-成都百草路-POD2(XEN虚拟化)','cuchulainn_tag8':'','type':'XEN','uuid':'c9f5dab937c94b52b2ee6ed6bd583656','createdAt':1594886905000,'manageType':'SINGLE','province':'SC','totalBandwidth':0,'virtualSoftType':'2','assetAdministrator':'Huawei','name':'四川-成都百草路-POD2(XEN)','reportSource':'epc','updatedAt':1597910364000,'status':'normal'}],'total':837,'pages':42,'minorType':'Pod'},'errorMessage':null,'status':1,'traceId':'ff94d645327746099126cf14457a8bcd
Java RestTemplate调用Cuchulainn Pod 接口获取资源池列表

原文地址: https://www.cveoy.top/t/topic/owBO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录