Я пытаюсь отправить сообщение от остальных API на новый маршрут, и даже если вы получаете запрос в формате JSON на своем REST API, и для привязки задано значение JSON, когда я пересылаю его на новый маршрут, оно будет отображаться как InputStream и мне нужно будет направить его в JSON, чтобы использовать его.
Я уже пытался использовать streamCaching и другие компоненты в RestConfiguration (потребляет, производит, типа, dataType). Также я использую все зависимости в POM.
public void configure() {
restConfiguration().component("servlet")
.bindingMode(RestBindingMode.json)
.skipBindingOnErrorCode(false);
rest("/resttest")
.patch("/t1")
.id("t1")
.description("t1")
.consumes("application/json")
.produces("application/json")
.param()
.name("body")
.type(RestParamType.body)
.dataType("json")
.required(true)
.endParam()
.to("direct:test2");
Этот маршрут в другом классе:
from("direct:test2").id("test2")
.marshal().json(JsonLibrary.Jackson,SomePOJO.class)
.unmarshal().json(JsonLibrary.Jackson, SomePOJO.class)
.choice()
.when(simple("${body.getStatus()} =~ 'Closed'"))
.....
Я ожидал получить сообщение JSON на маршруте test2, и каким-то образом я получаю InputStream, поэтому сначала мне нужно выполнить маршалинг. Кто-нибудь знает, как я могу заставить REST API переадресовывать меня на маршрутизацию сообщений в формате JSON, а не в виде потока?