我试图用Swagger来描述我正在构建的web-api。问题是我无法理解如何描述复杂的json对象?
比如如何描述这个对象:
{
name: "Jhon",
address: [
{
type: "home",
line1: "1st street"
},
{
type: "office",
line1: "2nd street"
}
]
}
好的,根据上面的注释,您需要以下模式:
{
"definitions": {
"user": {
"type": "object",
"required": [ "name" ],
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "array",
"items": {
"$ref": "#/definitions/address"
}
}
}
},
"address": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [ "home", "office" ]
},
"line1": {
"type": "string"
}
}
}
}
}
我做了一些假设,使示例变得更复杂一些,以便将来有所帮助。对于“user”对象,我声明“name”字段是必需的。例如,如果您还需要地址是强制性的,则可以将定义更改为“required”:[“name”,“address”]。
我们基本上使用json-schema的一个子集来描述模型。当然不是每个人都知道它,但它的学习和使用相当简单。
{
"definitions": {
"user": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"home",
"office"
]
},
"line1": {
"type": "string"
}
}
}
}
}
}
}
}
我有一个Web Api 2项目,它有一个HttpGet方法,该方法将复杂对象的列表作为参数。像这样: 我用swashbuckle来设置我的swagger文档。但是它像这样设置这个参数: 至少对象似乎需要一些东西。 后来在定义部分我确实发现了这一点: 但它似乎没有被使用... 有没有办法设置它,让swagger理解这是一个对象列表,并给我一种为各个属性输入值的方法?(就像我对不是列表的复杂对象所做的
我正在尝试为我的API添加Swagger文档,它使用Microsoft Web API框架。 例如,传递 GeoPoint (Lat/Lon) 对象的数组,Web API 期望从查询字符串绑定的复杂类型数组具有以下格式。 这是有效的。 我的问题是:是否可以在Swagger JSON文档中记录此集合格式和数组类型? 我想相关的规范在这里,http://swagger.io/specification
是否可以使用带有swagger的模板。它是如何完成的。 我不想每次都重复三个属性time、len和off。 看看这篇文章的结尾,我在那里制作了一个“模板”来解释。 更多详情: 我有一个JSON响应结构,它总是返回一个具有相同属性的JSON,但是只有数据的内容会发生变化。 数据可以是数组,可以是字符串、数字、null或对象<这取决于Api的函数处理。 请参阅本文末尾的Swagger定义示例。它是一个
我正在尝试大摇大摆地记录我的 API,该 API 由泽西Spring 2.22.2 与Spring 4.3 和杰克逊 2.22.2 组成。 我使用的swagger软件包是: endpoint声明之一: 这就是此endpoint生成的 JSON 的样子: 当我试图在swagger编辑器中解析这个输出时,它会返回错误,我认为原因可能是在“paramas”name参数中,它创建了它的对象类型而不是模式。
我想格式化我的Swagger API描述,使它们不是简单的文本段落。最好是,我想在其中添加一个小表格。 我没有在Swagger描述中找到有关文本格式的在线参考。如果我启动Swagger编辑器,并打开Instagram示例(File \ Open Example \ Instagram.yaml),我看到yaml文件中的第一个描述显示了一些格式,包括超链接和边界框: 这看起来像标准的Markdown
是否可以通过 Swagger 描述 Websocket server api? 我们通过websocket服务器广播事件,我想通过一个swagger规范文件来描述它们。 是否有用于WebSocket的文档生成器?