У меня есть сценарий использования для небольшого приложения Quarkus, которое должно вызывать конечную точку REST, но не должно запускать сам веб-сервер.
При следующих зависимостях десериализация JSON не поддерживается:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jackson</artifactId>
</dependency>
При запуске приложения выводятся следующие журналы:
WARN [io.qua.res.com.dep.ResteasyCommonProcessor] (build-11) Quarkus detected the need of REST JSON support but you have not provided the necessary JSON extension for this. You can visit https://quarkus.io/guides/rest-json for more information on how to set one.
...
ERROR [...] ProcessingException while creating reply for journey details request: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/json and type class X.
(предупреждение было добавлено на основании этого билета: https://github.com/quarkusio/quarkus/issues/4157)
При изменении конфигурации на:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
работает десериализация Джексона клиента REST, но также запускается веб-сервер.
Существует ли способ поддержки десериализации Джексона на Клиент REST, без запуска веб-сервера RESTEasy?
Вариант 1: можно ли для этого указать определенные c зависимости? Я поэкспериментировал с зависимостями от quarkus-resteasy-jackson отдельно, но не получил его на работу.
Вариант 2: чего-то не хватает в зависимости quarkus-jackson? Я бы предположил, что сериализация Джексона на клиенте REST должна поддерживаться без необходимости включать полную зависимость RESTEasy?
Другие варианты? Добавление ~ 10 МБ памяти RSS в приложение ~ 20 МБ - это большой процент накладных расходов для функции, которая не используется:)