apache-kafka - spring应用中使用confluent schema registry和avro serializer,json数据输入怎么做
问题描述
目前,我使用了spring cloud stream github示例,但是我不知道如何通过提供现有的json数据将手动键入的对象转换为json格式。我可以使用来自 json 数据的一些工具来推断 avro 模式。但是问题是我不想在import
使用 avro 模式时使用从类中推断出来的 POJO,而是我想使用现有的 json 数据。我也对 application/json 部分感到困惑,当我使用时
curl -X POST
,也许有办法在 http 请求中提供数据(在发送消息部分添加注释)。另外,解释一下@ResquestMapping
, 和@Enablebinding
,@StreamListener
什么时候使用它们。
解决方案
首先,您必须使用 KafkaAvroSerializer 而不是一些 StringSerializer 或 JSON 来定义生产者
从现有的 json 数据
您将使用来自现有 json 数据(如 Jackson 或 Gson)的 a 通过解析将 JSON 转换为 POJO。
问题是我不想使用从类中推断出来的 POJO
POJO 定义类。他们没有被推断出来
使用 avro 模式,而不是我想使用现有的 json 数据。
JSON 和 Avro 是不同的格式。您必须使用一些工具来翻译它们或自己手动解析 JSON 并创建 Avro 记录
我也对 application/json 部分感到困惑,当我使用 curl -X POST 时,也许有办法在 http 请求中提供数据(在发送消息部分添加注释
是的,标头在请求中定义了额外的元数据
curl -H 'Content-Type:application/json`
@StreamListener,何时使用它们
当您使用事件时,而不是发送它们
推荐阅读
- integer-overflow - 为什么我的程序的输出是秘密的值?
- javascript - 访问 HTMLRewriter 中的嵌套元素 - Cloudflare Workers
- javascript - 如何使用反应类组件创建 algolia 自动完成自定义渲染器
- angular - PrimeNg 组织结构图:删除选定节点
- arrays - 将对象数组转换为 csv
- javascript - Javascript:使用 x-www-form 在对象中获取和发布数组
- dbeaver - DBeaver 转储和还原 GENERATED 列的问题
- python - Pandas:使用元组作为标签从唯一的行值对创建列
- firebase - 为未经身份验证的用户设置 Firebase 安全规则
- javascript - 如何通过 DateObject 在日期数组中找到最近的过去或未来日期?