Поддержка Swagger для Apache Camel 4

Я обновляюсь с Apache Camel 3.20.x до 4.x.x и обнаружил, что Camel-swagger-java (версия 3.20.x), которая поддерживалась в Camel 3, не поддерживается в Camel 4. Библиотека Camel-swagger-java не имеет Он был обновлен до 4.x.x, как Camel, и последняя доступная версия — только 3.22.1.

Некоторые методы в классе CamelContext (присутствующие в зависимости от Camel-Api), такие как getExtension, которые были доступны в версии 3.20.x и вызываются в классе RestSwaggerSupport (присутствует в Camel-swagger-Java), кажутся устаревшими в классе CamelContext с версиями Camel 4.x.x. из-за чего я получаю NoSuchMethodError.

Проблема возникает при использовании той же версии 3.20.x в Camel-swagger-java с Camel 4.xx. Есть ли способ заставить ее работать с обновлением Camel 4?

java.lang.NoSuchMethodError: 'java.lang.Object org.apache.camel.CamelContext.getExtension(java.lang.Class)'
at org.apache.camel.swagger.RestSwaggerSupport.getRestDefinitions(RestSwaggerSupport.java:133)
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
149
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, вы ищете Camel-openapi-java?

Он поддерживался начиная с Camel 3.1 и продолжает поддерживаться в версии 4.x. Когда вы привыкли к Swagger 2.x, вы можете видеть OpenAPI немного похожим на преемника Swagger, но эта запись в блоге описывает его немного лучше:

Самый простой способ понять разницу:

  • OpenAPI = Спецификация
  • Swagger = Инструменты для реализации спецификации

Таким образом, компонент Camel предоставляет описание вашего REST-интерфейса OpenAPI, а пользовательский интерфейс Swagger — это инструмент для его отображения в браузере, выполнения образцов запросов и т. д.

Другие вопросы по теме