Я использую Spring Cloud Edgware. Выпуск SR3 и Spring Cloud Stream 2.0.1.
Я создал приложение testprocessor, используя Spring Cloud Stream 2.0.
Создан образец потока:
stream create TEST1 --definition "http --server.port=8888 | testprocessor | uploader --spring.cloud.stream.bindings.input.contentType='text/plain1' "
Развернутый в Spring облачный локальный сервер.
//testprocessor apps method signature is
@StreamListener(Processor.INPUT)
@sendto(Processor.OUTPUT)
public String transform(Object payload) {
}
В application.properties этого приложения я настроил свойства ниже
spring.cloud.stream.bindings.input.content-type=application/json;
Пример входных данных:
http post --contentType 'application/json' --data '{\"isbn\": \"1599869772", "title": "The Art of War", "author": "Sun Tzu"}' --target http://localhost:8888
Когда я публикую выше пример данных, я всегда получаю полезную нагрузку объекта byte[]
объект, подобный [B@5b2ff6e7
, но не получаю фактическую строку JSON.
Пожалуйста, можете ли вы помочь в этом вопросе?
Примечание. Если я создаю одно и то же приложение testprocessor, используя версию Spring Cloud Stream 1.3.1. Работает нормально. Я получаю строку JSON. Почему это не работает с использованием Spring Cloud Stream 2.0.1