我已经获得了REST API生成的一些JSON文件,这些文件具有大量属性.
我为这个API创建了一个Swagger 2.0定义,需要为它提供相应的响应模式.
主要问题:这个JSON文件有很多属性.这需要花费很多时间,如果我手动编写模式,我会犯很多错误.它不是我需要描述的唯一API.
我知道有一些工具可以将JSON转换为JSON模式但是,如果我没有弄错,Swagger只有$ refs到其他对象定义,因此只有一个级别,而我发现的工具只生成树结构模式.我的问题:是否有任何工具可以将JSON(或JSON Schema)转换为兼容Swagger 2.0的工具?
注意:我在YAML工作,但我不会成为问题,是吗?
例如,我需要的是:
List of Movements:
type: "array"
items:
$ref: "#/definitions/Movement"
Movement:
properties:
dateKey:
type: "string"
movement:
$ref: "#/definitions/Stock"
additionalProperties: false
Stock:
properties:
stkUnitQty:
type: "string"
stkDateTime:
type: "string"
stkUnitType:
type: "string"
stkOpKey:
type: "string"
additionalProperties: false
Run Code Online (Sandbox Code Playgroud)
对于我的JSON文档:
[
{
"dateKey": "20161110",
"stkLvls": [
{
"stkOpKey": "0",
"stkUnitType": "U",
"stkDateTime": "20161110T235010.240+0100",
"stkUnitQty": 30
}
]
},
{
"dateKey": "20161111",
"stkLvls": [
{
"stkOpKey": "0",
"stkUnitType": "U",
"stkDateTime": "20161111T231245.087+0100",
"stkUnitQty": 21
}
] …Run Code Online (Sandbox Code Playgroud) 从宠物商店示例中获取以下#definition。给定#definition部分,可以生成JSON结构
给定一个较大的复杂JSON文件,是否可以执行相反的操作?
给定下面的JSON结构,我可以获取为保存某些输入而生成的swagger文件的#defintion部分
{
"variable": "sample",
"object1": {
"obj-field1": "field 1 of object",
"obj-field2": "field 2 of object",
"anArray": [
"Value 1",
{
"anArrayObj1": "obj1fieldinarray",
"anArrayObj2": "obj2fieldinarray"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)