我从一些JSON文件创建了API规范,并且尝试测试这些文件是否根据API规范进行了验证。
有一些不错的工具可以根据JSON Schema进行验证,但是我没有找到针对Swagger中创建的规范进行验证的工具(用于创建API架构的工具)。我发现的唯一解决方案是在Swagger- Editor中生成客户端/服务器,这非常麻烦。
是否已经有现有工具可以针对Swagger Schema验证JSON?
评论中的Arnaud是正确的,这里有两个单独的问题。
您是否要验证您的规格是有效的OpenAPI(fka.Swagger)规格
您可以
或验证此规范的实现会产生与您的JSON模式有关的JSON?
换句话说,这是来自请求或响应正文的一些JSON,对吗?
Swagger的架构对象依赖于另一个称为JSON Schema的标准,它实际上是对JSON(而不是端点或元数据)的描述。Swagger使用JSON模式的子集(缺少:oneOf,,patternProperties等等)。为此,您可以使用JSON模式验证器。这里列出了37个 ; 我将向此在线验证器大喊大叫,该验证器还支持YAML模式。
oneOf
patternProperties
但是,当我说Swagger依赖于JSON API的子集时,我撒了谎。Swagger中有一些固定字段具有特殊含义,这些字段不是JSON Schema的一部分。其中之一discriminator是用于多态性。 我不知道可以处理的Swagger验证程序discriminator。有很多工具可以摇摇欲坠,有些声称可以进行验证,但是许多工具都是废弃软件,用于旧版本,功能不完整,与其他技术捆绑在一起,依此类推。如果我缺少一个成熟且维护良好的库,我很想知道。
discriminator