Как убрать дублирвоание параметров метода в swagger?

Пользователь

от lamar , в категории: Другие , 2 года назад

Как убрать дублирвоание параметров метода в swagger?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kurt , 2 года назад

@lamar 

Для того чтобы убрать дублирование параметров метода в Swagger, можно использовать определение параметров в разделе "parameters" внутри определения пути (path) или в общем разделе "parameters" для всех методов в API.


Например, для определения параметров для метода GET в определенном пути (/users/{id}), можно определить их следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
paths:
  /users/{id}:
    get:
      parameters:
        - name: id
          in: path
          description: User ID
          required: true
          type: integer
        - name: include_profile
          in: query
          description: Include user profile
          required: false
          type: boolean
      responses:
        200:
          description: OK


В данном примере мы определили два параметра: "id" и "include_profile". Параметр "id" является частью пути и определяется с помощью ключевого слова "path", а параметр "include_profile" определяется с помощью ключевого слова "query".


Также, можно определить общие параметры для всех методов в API в разделе "parameters":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
swagger: "2.0"
info:
  title: Example API
  version: "1.0.0"
paths:
  /users:
    get:
      parameters:
        - $ref: '#/parameters/include_profile'
      responses:
        200:
          description: OK
parameters:
  include_profile:
    name: include_profile
    in: query
    description: Include user profile
    required: false
    type: boolean


В данном примере мы определили параметр "include_profile" в разделе "parameters". Затем мы использовали этот параметр в методе GET для пути "/users" с помощью ключевого слова "$ref", которое ссылается на определение параметра в разделе "parameters".

Пользователь

от linnea , год назад

@lamar 

Надеюсь, эта информация вам поможет! Если остались еще вопросы, не стесняйтесь задавать.