如何解决AsyncAPI 和 Json-LD 响应
我正在开发一个使用 JSON-LD 作为 Kafka 输入和输出格式的项目。现在,我想用 AsyncAPI 为我们的文档定义消息。但是我遇到了诸如@id 或@type 之类的建模属性问题。一旦我添加了“@”符号,AsyncAPI 就会提供一个错误。根据 JSON-LD 标准,JSON-LD 是有效的 JSON。那么,它应该与 AsyncAPI 一起使用正确吗?或者我的误会在哪里?
我们在您的 AsyncAPI 文档中发现以下错误: 第 17 行第 11 列映射条目的缩进错误: @ID: ^
解决方法
TLDR:仅仅因为它被允许这样做,并不意味着工具支持它。支持此功能的方法是在 parser 中创建功能请求。
虽然 JSON-LD 可能是有效的 JSON 并且绝对允许使用,但工具需要知道如何解释它。该规范有一组必需的架构 formats for which all tooling must support and others that are recommended。不幸的是,JSON-LD 目前不在该列表中,这就是您找到缺少的支持的原因。
我怀疑您使用了 AsyncAPI 游乐场之类的东西,这给了您这个错误?
在这种情况下,问题的根源在于解析 AsyncAPI 文档的解析器无法识别您提供的格式。您可以在此处阅读更多相关信息:https://github.com/asyncapi/parser-js#custom-message-parsers
为简单起见,您定义的任何有效负载架构,可能是 RAML、OpenAPI schema、AVRO 或任何其他,甚至 JSON-LD,都在幕后转换为 {{ 3}}。这样做的原因是,如果他们需要理解所有这些不同的格式,那么工具的复杂性就太高了。
因此,虽然可以使用 JSON-LD 定义有效负载,但这并不一定意味着工具支持它。
因此,您介意为此功能添加 JSON Schema 吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。