我正在做一个项目,使用JSON-LD作为输入和输出格式的Kafka。现在,我想为我们的文档定义使用AsyncAPI的消息。但是我遇到了像@id或@type这样的建模属性。一旦我添加"@“符号,AsyncAPI就会提供一个错误。根据JSON-LD标准,JSON-LD是一个有效的JSON。那么,它应该与AsyncAPI一起工作,对吗?或者我的误解在哪里?
我们在AsyncAPI文档中发现了以下错误:映射条目在第17行第11列的缩进错误:@id:^
发布于 2021-07-29 08:46:29
TLDR:仅仅因为允许这样做,并不意味着工具支持它。支持这一点的方法是在解析器中创建一个特性请求。
虽然JSON可能是一个有效的JSON,并且绝对允许使用,但是工具需要知道如何解释它。该规范有一组必需的架构所有工具必须支持的格式以及推荐的其他格式。不幸的是,JSON目前还不是列表的一部分,这就是为什么您发现缺少的支持。
我怀疑您使用的是类似于AsyncAPI操场的东西,它给您带来了这个错误?
在这种情况下,问题的根本原因在于解析AsyncAPI文档的解析器下面没有识别您提供的格式。你可以在这里读到更多关于它的信息:https://github.com/asyncapi/parser-js#custom-message-parsers
为了简单起见,您定义的任何有效负载模式(可能是拉姆尔、OpenAPI模式、阿夫罗或任何其他,甚至JSON)都在场景的后面转换为JSON模式。之所以如此,是因为如果他们需要理解所有这些不同的格式,那么工具的复杂性就太大了。
因此,虽然用JSON定义有效负载是可能的,但这并不一定意味着工具支持它。
因此,您介意为这个特性添加一个解析器的特性请求吗?
https://stackoverflow.com/questions/68571535
复制相似问题