当前位置: 首页 > 知识库问答 >
问题:

Swagger 能否在 Microsoft Web API 的 querystring 中描述一系列复杂类型

鲁向明
2023-03-14

我正在尝试为我的API添加Swagger文档,它使用Microsoft Web API框架。

例如,传递 GeoPoint (Lat/Lon) 对象的数组,Web API 期望从查询字符串绑定的复杂类型数组具有以下格式

/api/Location?points[0][Lat]=1.2&points[0][Lon]=3.4

这是有效的。

我的问题是:是否可以在Swagger JSON文档中记录此集合格式和数组类型?

我想相关的规范在这里,http://swagger.io/specification/#parameterObject

对于type=array和collectionFormat=multi,它似乎想重复“points”参数,但不知道数组索引[0]部分。

共有1个答案

谭景福
2023-03-14

不是真的。首先,swagger定义中的查询参数是基元值或基元值数组。接下来,通过替换在查询字符串中分配数组位置不是标准swagger ui的一部分。您可能可以让它工作,但我怀疑其他swagger工具都不知道如何处理它。

 类似资料:
  • 我有一个Web Api 2项目,它有一个HttpGet方法,该方法将复杂对象的列表作为参数。像这样: 我用swashbuckle来设置我的swagger文档。但是它像这样设置这个参数: 至少对象似乎需要一些东西。 后来在定义部分我确实发现了这一点: 但它似乎没有被使用... 有没有办法设置它,让swagger理解这是一个对象列表,并给我一种为各个属性输入值的方法?(就像我对不是列表的复杂对象所做的

  • 我试图用Swagger来描述我正在构建的web-api。问题是我无法理解如何描述复杂的json对象? 比如如何描述这个对象:

  • 我在写我的招摇文件时遇到了问题。当我描述一个参数时,这个参数的$ref的描述重载了这个描述(参见下面的示例)。 结果:描述过载 谁能帮我渡过难关吗?

  • 我通过compojure-api使用ring-swagger。我有几个查询参数,我正在努力寻找一种方法来向单个查询参数添加描述。我可以添加整个endpoint的摘要,但这还不够。 是否可以使用ing-swagger/compojure-api向单个查询参数添加swagger描述?

  • 是否可以通过 Swagger 描述 Websocket server api? 我们通过websocket服务器广播事件,我想通过一个swagger规范文件来描述它们。 是否有用于WebSocket的文档生成器?

  • 我尝试使用Swagger编辑器指定GET方法的响应。但是,当我在Swagger UI中查看时,JSON没有显示响应。 我的宣言大摇大摆: 在Swagger UI中,写入响应类(状态200)的框