gpt4 book ai didi

java - REST 响应的 Cloudify 文档与我得到的文档不一致

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:17 25 4
gpt4 key购买 nike

我有一个正在运行的 Cloudify 2.7.0 实例。我需要从 Java 应用程序访问 Cloudify 的 API,我发现返回的 JSON 与 Cloudify 文档中记录的 JSON 不一致。API 是

/service/applications

documentation我可以看到它应该返回以下 JSON 字符串

{
"status" : "success",
"response" : [ "petclinic", "travel" ]
}

但是,如果我对 Cloudify 实例执行相同的请求,我会得到以下 JSON 字符串

{
"status" : "success",
"response" : {
"petclinic": "",
"travel":""
}
}

在 java 应用程序中,JSON 信息存储在以下 POJO 中(使用 JSONSchema2POJO 生成)

// CloudifyResponse.java
public class CloudifyResponse {
@JsonProperty("response")
private Response response;
@JsonProperty("status")
private String status;
// getters and setters
}

// Response.java
public class Response {
@JsonProperty("helloworld")
private String helloworld;
@JsonProperty("petclinic")
private String petclinic;
// getters and setters
}

我使用 Jackson 库将 JSON 反序列化为 POJO。正如您所看到的,JSON 字符串被反序列化为 POJO,其中每个实例化的应用程序都是 POJO 的字段。这对于应用程序的开发来说可能是一个大问题。事实上,随着应用程序实例的变化,返回的 JSON 也会发生变化,我们需要更新 POJO 结构,这是我在运行时无法做到的。

您知道Cloudify API是否更改了响应JSON结构?有没有办法获取记录的 JSON 输出而不是我得到的输出。

提前谢谢

朱利奥

最佳答案

从 2.7 开始,服务 Controller (您在此处引用的)已被弃用,但实际上仍然可用于向后兼容。关于返回的 json 结构,文档确实是错误的。我的建议是使用更新的 API
/{version}/deployments/applications/description

documented here ,这个 API 实际上返回一个包含 ApplicationDescription 对象列表的 json,因此当应用程序部署时,响应结构基本保持不变,但包含的列表会增长。

关于java - REST 响应的 Cloudify 文档与我得到的文档不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23393438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com