Проблема с параметром URL-адреса Swagger API - PullRequest
1 голос
/ 14 июля 2020

Я новичок в документации API Swagger и хочу развернуть API, у которого есть строка запроса. Это API, который я получаю после передачи параметра в методе GET.

baseurl/v1/auth/getOTP?mobile=98XXXXXX14

, и я хочу это: -

baseurl/v1/auth/getOTP/mobile/98XXXXXX14

то, что я реализую: -

"/auth/getOTP": {
  "get": {
    "tags": [
      "pet"
    ],
    "summary": "",
    "description": "",
    "operationId": "findPetsByStatus",
    "produces": [
      "application/json",
      "application/xml"
    ],
    "parameters": [
      {
        "name": "mobile",
        "in": "query",
        "description": "",
        "required": true,
        "type": "string",
      }
    ],
    "responses": {
      "200": {
        "description": "successful operation",
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Pet"
          }
        }
      },
      "400": {
        "description": "Invalid value"
      }
    },
    "security": [
      {
        "petstore_auth": [
          "write:pets",
          "read:pets"
        ]
      }
    ]
  }
},

1 Ответ

1 голос
/ 14 июля 2020

Ваша проблема здесь:

{
    "name": "mobile",
    "in": "query", // <-- Right here.
    "description": "",
    "required": true,
    "type": "string",
}

Чтобы номер мобильного телефона был в пути вместо запроса, вам нужно изменить две вещи.

Сначала измените путь на "/auth/getOTP/mobile/{mobile}".

Во-вторых, измените описание параметра:

{
    "name": "mobile",
    "in": "path", // This.
    "description": "",
    "required": true,
    "type": "string",
}

Подробнее о OAS шаблоны путей и параметры .

...