GET /info?sort[name]=1&sort[age]=-1
如何为这些参数编写OpenAPI(Swagger)定义?
这取决于您使用的OpenAPI(Swagger)的哪个版本。
sort
参数可以定义为具有name
和age
属性的一个对象。参数序列化方法应该是style:deepobject
和explode:true
。
openapi: 3.0.0
...
paths:
/info:
get:
parameters:
- in: query
name: sort
schema:
type: object
properties:
name:
type: integer
example: 1
age:
type: integer
example: -1
style: deepObject
explode: true
responses:
'200':
description: OK
这在Swagger UI3.15.0+和Swagger-Editor 3.5.6+中得到了支持。
swagger: '2.0'
...
paths:
/info:
get:
parameters:
- in: query
name: sort[name]
type: integer
- in: query
name: sort[age]
type: integer
responses:
200:
description: OK
我正在开发一个API,它允许使用URL进行搜索,比如: 这个答案几乎是我想要做的,我只是找不到一种方法来定义括号内的值为“任何字符串”,而不是已知名称的列表。
问题内容: 在寻找的源代码中,我看到了以下功能: 该语法在哪里记录?我的意思是功能的前面。这与声明一个常规数组相同,在该常规数组中括号可以位于数组名称之后或之前,但是在这种情况下,括号可以位于函数名称之后? VS 编辑:2018-05-22 我在这里发现了这种疯狂语法的更多用法:关于Java的十件事 #3是他们提到可以利用上述语法的所有方式的地方 问题答案: 在JLS第8.4节中: … 返回数组的
我准备我的API文档的方式是每只手做一次,而不是自动生成。我有应该发送到所有API的头,不知道是否可以为整个API全局定义参数? 这些头中有些是静态的,有些必须在调用API时设置,但它们在所有API中都是相同的,我不想为每个API和每个方法复制和粘贴参数,因为这在将来是不可维护的。 我看到了API定义的静态头,但没有一个文档说明如何设置或使用它们。 这到底有没有可能?
我知道https://swagger.io/docs/specification/authentication/bearer-authentication/,但它似乎并没有完全帮助我。 This(OpenAPI 3) 名为default的身份验证标头中的结果() 但这在Swagger编辑器中验证失败,因为我认为的不允许组件(就像类型一样)。老实说,我不能完全理解这里的医生。 我确实读过关于规范扩展
我有一个服务,它可以基于头有两种不同的主体参数。 例如。对于路径: > 如果使用 ,则 POST 可以将 作为正文参数。 如果使用了,那么POST应该使用一些不同的主体参数来调用函数并返回不同的响应。 关于如何在OpenAPI(Swagger)中体现这一点,有什么建议吗?