Java RestTemplate 调用 Pod 接口获取数据示例 - 使用 Basic Auth
以下是使用 Java RestTemplate 调用 Pod 接口并解析数据的示例代码:
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> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
String responseBody = response.getBody();
JSONObject jsonObject = new JSONObject(responseBody);
JSONArray jsonArray = jsonObject.getJSONObject('data').getJSONArray('list');
List<JSONObject> jsonList = jsonArray.toList();
List<Pod> podList = jsonList.stream().map(json -> {
Pod pod = new Pod();
pod.setCode(json.getString('code'));
pod.setName(json.getString('name'));
pod.setDescription(json.getString('description'));
pod.setType(json.getString('type'));
pod.setUuid(json.getString('uuid'));
pod.setStatus(json.getString('status'));
pod.setCreatedAt(new Date(json.getLong('createdAt')));
pod.setUpdatedAt(new Date(json.getLong('updatedAt')));
return pod;
}).collect(Collectors.toList());
for (Pod pod : podList) {
System.out.println(pod);
}
其中,Pod 类需要自己定义,这里只是一个简单的示例。需要注意的是,这里使用了 JSON 库 org.json,需要提前导入。
代码说明:
- 创建 RestTemplate 对象。
- 设置 Basic Auth 身份验证信息,用户名为 'admin',密码为 'admin5'。
- 创建 HttpEntity 对象,包含身份验证信息。
- 使用 RestTemplate 的 exchange() 方法发送 GET 请求,获取接口响应。
- 解析接口响应的 JSON 数据,并将 'list' 数组转换为 List
对象。 - 使用 Stream 流将 List
对象映射到 List 对象。 - 遍历 List
对象,并打印到控制台。
注意:
- 实际应用中,需要根据接口定义和 Pod 类定义进行相应的调整。
- 为了安全,建议不要将用户名和密码直接硬编码到代码中。
- 为了更好的可读性和可维护性,建议将代码封装成单独的类或方法。
更多信息:
希望本示例能够帮助您理解如何使用 Java RestTemplate 调用 Pod 接口并解析数据。如果您有任何疑问,请随时提出。
原文地址: https://www.cveoy.top/t/topic/owzL 著作权归作者所有。请勿转载和采集!