要在 spring 应用程序中使用 confluent schema registry 和 avro serializer,如何为 json 数据输入做

To use the confluent schema registry and avro serializer in the spring application, how to do for json data input

目前,我使用了 spring 云流 github 示例,但是我不知道如何通过现有 json 数据。我可以使用一些工具从 json 数据中推断出 avro 模式。但是问题是我不想使用从 class in import 中使用 avro 模式推断出的 POJO,而是我想使用现有的 json 数据。当我使用时,我也对 application/json 部分感到困惑 curl -X POST,也许有没有办法在http请求中提供数据(在发送消息部分添加注释)。另外,解释一下@ResquestMapping@Enablebinding@StreamListener什么时候用

首先,您必须使用 KafkaAvroSerializer 而不是某些 StringSerializer 或 JSON 一个

来定义生产者

from the existing json data

您将使用现有的 json 数据(例如 Jackson 或 Gson)通过解析将 JSON 带到 POJO。

the problem is I do not want to use POJOs that is inferred from class

POJO 定义 类。它们不是推断的

using avro schema instead I want to use the existing json data.

JSON 和 Avro 是不同的格式。您必须使用一些工具来翻译它们或自己手动解析 JSON 并创建 Avro 记录

I am also confused about the application/json part, when I am using curl -X POST, maybe is there a way to feed the data in http request(add annotations in the send message part

是的,headers 在请求中定义额外的元数据

curl -H 'Content-Type:application/json`

@StreamListener, when to use them

当您使用事件而不是发送事件时