假设我有一个URL,其路径为:?filter[id]=1&filter[name]=bob&order[][name]=asc&order[][age]=desc
如何将其转换为大摇大摆的文档,具体地说,将对象数组和数组作为查询参数。
您的示例不是对象数组,而是两个独立的对象参数--filter
和order[]
,每个参数都使用deepobject
样式序列化(OpenAPI 3.0支持)。您可以如下描述这些参数:
openapi: 3.0.2
...
paths:
/something:
get:
# ?filter[id]=1&filter[name]=bob&order[][name]=asc&order[][age]=desc
parameters:
- in: query
name: filter
schema:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: bob
style: deepObject
- in: query
name: order[]
schema:
type: object
properties:
name:
type: string
example: asc
age:
type: string
example: desc
style: deepObject
我正在编写一个OpenAPI规范,并试图从请求路由/路径的注释中自动(使用swagger-php)生成我可能的查询参数。我知道我可以为每个路由键入所有可能的参数选项,但我确实需要能够使用注释从类的属性自动生成可能的参数,就像我可以为请求体所做的那样。(我们将有大量的类/路径,除非它们像请求体/JSONContent那样生成,否则很可能无法保持更新。这在一般的swagger-php甚至OpenAPI
我的REST服务中有一个搜索endpoint。我使用的是Spring Boot,所以我有一个@RestController设置,它带有一个基于搜索查询返回搜索结果的方法。这是方法定义: 我希望SwaggerUI将SearchQuery的字段作为单独的查询参数显示在UI中。它不是;它只是显示了一个通用的“查询”参数。如果我用@RequestBody注释query,那么用户可以向主体添加一个json负
我有一个GET路由,我想在其中将url中的对象参数编码为查询字符串。 在编写 swagger 文档时,我基本上收到不允许我在类型参数中使用/类型的错误: 具有对象值的请求查询参数将在实际请求中编码。 即使 swagger在屏幕顶部显示错误,对象也会在 swagger UI 编辑器中正确呈现,但是该错误浮动在文档顶部。
我正在尝试正确定义 OpenAPI 规范,以便从该规范生成 api 客户端。我已经解决了一个问题,即我们有一个复杂的查询对象,其中包含嵌套对象和对象数组,用于获取 GET 路由。 让我们以这些类为例。 和一个带有@Query decorator的get请求。 我得到的是。 我还尝试通过添加@ApiQuery装饰器来定义查询参数,它几乎可以工作。 - 但是现在我正在将重复的查询定义混入一个。有没有办
在我的Zend应用程序中,我正在为移动应用程序编写一个小API。为了方便移动开发者,我使用了Swagger。到目前为止,除了一个GET请求外,一切正常。 当我呼叫/user/messages/{sessionToken}时?numMessages={numMessages} 有人知道我的错误吗? 欢迎任何帮助。 诚挚的问候 罗特曼 更新:按照建议,我将两个参数类型都更改为“查询”并更改了路径: 但