Несоответствие между документацией Cloudify для ответа REST и тем, который я получаю

1

Я запускаю экземпляр Cloudify 2.7.0. Мне нужно получить доступ к Cloudify API из приложения Java, и я нашел несоответствие между возвращенным JSON и документом, который документирован в документации Cloudify. API

/service/applications

В документации я могу прочитать, что она должна возвращать следующую строку 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
}

Я использую библиотеку Джексона для десериализации JSON в POJO. Поскольку вы можете видеть, что строка JSON десериализуется в POJO, в которой каждое приложение istantiated является полем POJO. Это может быть большой проблемой для разработки приложения. Фактически, когда экземпляры приложения меняются, возвращается JSON, и нам нужно обновить структуру POJO, чего я не могу сделать во время выполнения.

Вы знаете, изменил ли API-интерфейс Cloudify структуру JSON-ответа? Есть ли способ получить документированный вывод JSON вместо того, который я получаю.

заранее спасибо

Джулио

Теги:
rest
cloudify

1 ответ

1
Лучший ответ

Начиная с версии 2.7. Сервисный контроллер (который вы здесь называете) устарел и фактически остается доступным для обратной совместимости. Документация действительно неверна в отношении возвращаемой структуры json. Мой совет - использовать обновленный API
/{version}/deployments/applications/description

Как описано здесь, этот API фактически возвращает json, содержащий список объектов ApplicationDescription, так как приложение развертывается, структура ответа остается по существу тем же самым, но содержащийся список растет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню