APACHE API CAMEL REST DSL ведет себя иначе, чем относительная операция CURL - PullRequest
0 голосов
/ 05 февраля 2020

Я застрял в чем-то, что сводит меня с ума.

Я создаю приложение, которое предоставляет некоторые API и отображает каждый из этих API на какой-то внешний API, так что в основном мое приложение является проходным. Операция - это пост, который на самом деле работает, но здесь происходит магия c. Поэтому в основном мой API принимает в качестве входных данных класс POJO, который будет называться ObjectIN, процессор выполняет некоторое преобразование и отправляет внешнему API (не моему) другой объект POJO с именем ObjectOUT.

API - это вставка заказа в БД во второй среде API. Теперь я тестирую случай, когда дважды отправляю ту же полезную нагрузку, что и тело ввода, поэтому я ожидаю 500 от API 2n, так как заказ уже вставлен, но если мое приложение отправляет insert1, а затем insert2 я получил 202 в обоих случаях от 2-го API. Если я сделаю прямое свертывание 2-го API с таким же идентичным телом, 1-е произведение вернет 202, а второе вернет 500, как и ожидалось.

Я не могу понять, что происходит, и так как я не обрабатываю 2-й API, я вроде как слепой. Я думаю, это может быть связано с передачей json, но я обычно использую маршал перед отправкой в ​​поле .to (2ndAPI) на моем DSL, и далее вставка работает в обоих случаях, поэтому бэкэнд 2-го API может понять и разобрать мое обработанное тело.

Есть предложения? Я также могу скопировать код, но я действительно попробовал все на моей стороне.

...