Как записать в формате Swagger / OpenAPI такие параметры
Делаю схему сваггера, но не понимаю как правильно указать параметры фильтрации для пакета Laravel query builder.
Вот пример:
/users?filter[name]=john&filter[email]=gmail
Как записать схему для filter[name]=john&filter[email]=gmail? Я сделал набросок, но проблема в том, что filter используется дважды и не понятно как работать с [...]
paths:
/users
get:
parameters:
- $ref: "#/components/parameters/filter"
components:
parameters:
filter:
name: filter
in: query
required: false
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Думаю как-то так
swagger: '2.0'
...
paths:
/users:
get:
parameters:
- in: query
name: filter[name]
type: string
- in: query
name: filter[email]
type: string
responses:
200:
description: OK
Автор решения: Helen
→ Ссылка
В OpenAPI 3.0 такой параметр описывается как объект, который сериализуется как style: deepObject. В данном случае filter - имя параметра, name и email - свойства объекта.
openapi: 3.0.0
paths:
/users:
get:
parameters:
- in: query
name: filter
style: deepObject
schema:
type: object
properties:
name:
type: string
email:
type: string
format: email