Как изменить имя параметра запроса в swagger? - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь получить этот URL:

https://search.me/Search/api/search?map=%7B%22query%22:%22CSCI+250%22,%22rows%22:500,%22term%22:%222181%22,%22career%22:%22%22,%7D

без преобразования специальных символов в HEX для URL будет:

https://search.me/Search/api/search?map={query:CSCI-250,rows:500,term:2181,career:}

Я знаю, что в openapi 3.0.0 невозможно сериализовать специальные символы как шестнадцатеричные, поэтому я согласен с полным JSON в параметре запроса.

Где параметр является JSON -> URI JSON:

{
  map:  {
    "query": "CSCI 250",
    "rows": 500,
    "term": 2181,
    "career": ""
  }
}

но swagger вместо этого выдает:

https://search.me/search/api/search?query=CSCI-250&rows=500&term=2181&career=

Как видите, специальные символы затем конвертируются в HEX.

Ниже мой путь. Что именно я делаю не так?

paths:
  /search:
    get:
      summary: Search
      parameters:
      - in: query
        name: map
        description: JSON for lookup
        required: true
        schema:
            $ref: '#/components/schemas/QueryParams'
      responses:
        200:
          description: Course search response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QueryResults'
        400:
          description: Bad request
...