gpt4 book ai didi

java - Spring Cloud 流: JSON array cannot be cast to POJO list

转载 作者:行者123 更新时间:2023-12-01 09:11:33 25 4
gpt4 key购买 nike

我正在对 Spring Cloud Stream 的内容类型自动转换进行一些测试。

作为spring-cloud-stream Guide显示。 GreetingMessage的json格式( {"greeting":"Hello, world"} ) 将被转换为 POJO GreetingMessage@StreamListener 中消费时自动对象。至此测试成功。

但是,当我将输出更改为List<GreetingMessage > [{"greeting":"Hello, world"}, {"greeting":"Good morning"}]时,输入 不会将其转换为 POJO List<GreetingMessage >对象,但作为 POJO List<String> .

<小时/>

所以我的问题是:

  • 这是一个现有问题还是我做错了什么?
<小时/>

代码:

@Data
@AllArgsConstructor
public class GreetingMessage {
private String greeting;
}

@EnableBinding(Source.class)
public class GreetingSource {

@Bean
@InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
public MessageSource<List<GreetingMessage>> greeting() {
return new MessageSource<List<GreetingMessage>>() {
public Message<List<GreetingMessage>> receive() {
return new GenericMessage(Arrays.asList(new GreetingMessage("hello"), new GreetingMessage("hello2")));
}
};
}
}

@EnableBinding(Sink.class)
public class GreetingSink {
@StreamListener(Sink.INPUT)
public void receive(Message<List<GreetingMessage>> msg) {
// handle GreetingMessage
System.out.println(msg);
}
}

最佳答案

这是消息转换过程的限制,其中不考虑参数化类型(仅考虑原始 List 类型)。如果您认为需要支持,请在 GitHub 上打开问题。

关于java - Spring Cloud 流: JSON array cannot be cast to POJO list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40893440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com