我正在寻找一个解决方案来解决Swagger(OpenAPI)数据类型和JSON模式之间处理数据类型空值的不兼容性。
我们的swagger文件包含所有模式定义,我想使用JSON。Net模式,用于API测试中的模式验证步骤。
有效的swagger属性定义:
"description": {
"type": "string",
"nullable": true
}
将失败JSON模式验证空值(无效类型。预期字符串,但得到空值
)。
如果我将可为空的属性定义替换为:
"description": {
"type": ["string", "null"]
}
对于空值,验证将是成功的,但这打破了昂首阔步的语法。
Structural error at components.schemas.CalendarFunctionsDto.properties.description_EN.type
should be equal to one of the allowed values
allowedValues: array, boolean, integer, number, object, string
我找不到的OpenAPI模式到JSON模式转换器。网我想知道是否有一个简单的解决方案可以使用JSON。Net模式来解决这个问题。我们的一些类型比上面的例子更复杂。我正在寻找一种适用于所有“可空”类型的解决方案。
理想情况下,我希望为输入保留有效的swagger(OpenAPI 3.0)JSON语法,以编程方式为所有可为空的属性(转换模式、调整验证或任何其他创造性解决方案)在C#中执行一些拼写,然后使用JSON验证模式。Net架构。
Openapi 3.0.0/3.0.1/3.0.2/3.0.3不支持null类型,它只支持nullable。JSON模式不支持nullable,它支持null类型。你能把你的规范升级到Openapi v3吗。1.0? 该版本支持空类型。然后,您可以使用以下选项之一:
选项1(不太可能在openapi工具中工作,因为类型数组是这样一个新添加)
"description": {
"type": ["string", "null"]
}
选项2(更有可能使用openpi工具,因为类型不是数组)
"description": {
"oneOf" [
{"type": "string"},
{"type": "null"},
]
}
早上好 我刚刚开始使用JSON,所以我知道这是一个非常基本的问题,有人能指出我在尝试验证下面的事件和问题ID方面的错误吗? id字段似乎已成功验证,但我的文件在尝试验证时失败。
问题内容: 是否有任何PHP库可根据JSON模式验证JSON对象? 问题答案: 关于jsonschemaphpv,尽管它维护得不是很好,但是我们经常使用它并且可以正常工作。这是js验证程序的端口。它具有针对php和http://code.google.com/p/jsonschema/的完整测试套件。 猜猜是什么…它比js传递了更多的测试。至少在最后一次运行测试时。问题是该项目的结构不是很好,而且
问题内容: 我正在为返回JSON对象的Java Web应用程序编写一些验收测试。我想验证返回的JSON是否针对架构进行了验证。有人可以为此建议任何工具吗? 问题答案: 该 JSON工具项目 (程序员指南)包括验证使用JSON模式的JSON文件的内容的工具。 另一种选择是使用Rhino验证运行(JavaScript) JSON Schema Validator 。
我正在创建一个用于Postman的JSON模式,其中包含一些模式定义。我针对模式验证的JSON需要与模式定义之一匹配。 示例模式 JSON数据示例 此JSON根据模式进行验证,并正确标记为无效(因为需要字符串): 问题 此示例根据https://www.jsonschemavalidator.net/返回4个错误: 消息:JSON对“oneOf”中的任何模式都无效。模式路径:#/oneOf 我只对
我尝试使用swagger来描述JSON API。到目前为止,它看起来不错,但我无法弄清楚如何使用anyOf结构在JSON答案中定义不同对象类型的数组。 以下JSOn模式是有效的,它应该描述一组文章和视频JSON对象: 有没有可能在摇摆不定中使这项工作发挥作用?
问题内容: 我有一个JSON模式 我要在children属性中表示的是,它是具有相同精确模式的对象数组。这是描述它的正确方法吗? 问题答案: 使用您需要参考的架构 参见此处:http : //json-schema.org/latest/json-schema-core.html#anchor30