Предположим, что мои входящие данные представляют собой объект json или массив объектов json. Я хочу разбить входящие json-данные, если это массив, чтобы я мог вставлять их в коллекцию MongoDB (для простоты давайте просто заходим в консоль на данный момент).Как разбить входящий массив объектов Json в Spring XD?
Определить поток
XD:> поток создать splittest --definition "HTTP | JSON к кортежу | разветвитель | войти" --deploy
Опубликовать один объект
xd:> http post --data "{\" dog \ ": \" chihuahua \ "}"
21T09: 05: 59-0700 1.2.0.RELEASE INFO pool-44-thread-4 раковина. splittest - {"dog": "chihuahua"}
Ожидается, что выход будет представлять собой один объект - ничто не будет разделено.
сообщение массив объектов
XD:> HTTP POST --data "[{\" собака \ ": \" пуделем \ "}, {\" собака \ ": \" чихуахуа \» }, {\ "собака \": \ "пудель \"}]»
21T09: 43: 05-0700 1.2.0.RELEASE INFO бассейн-44-токарно-11 sink.splittest - {}
В этом случае я ожидал увидеть три отдельных объекта собаки, напечатанных в каждой строке, но напечатал один пустой объект.
Что я делаю неправильно? Может кто-нибудь предложить, что может/должно было быть сделано?
Кажется, так как ваша POST обработчика сделок с одной собакой штрафа, но не массив собак, что ошибка в коде, который обрабатывает запрос POST, а не команды, которые посылают указанный запрос. Если вы разместите этот код, я постараюсь вам помочь. – awimley
Второй пост вернулся 200 OK, и сервер не выдал никакой ошибки. Он напечатан точно так, как показано выше. И для этого нет кода. Я сделал это, используя чистую интеграцию с весной, но я не хотел беспокоиться о написании клиентского трансформатора и сплиттера для Spring XD. Я пытаюсь использовать готовые функции XD насколько могу. – nanaboo
Извините, я не достаточно знаком с Spring XD, чтобы помочь. – awimley