Как записать в формате 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
→ Ссылка