Swagger 招摇过市API特殊字符问题

Swagger 招摇过市API特殊字符问题,swagger,swagger-ui,Swagger,Swagger Ui,我是一个新手,想要部署一个包含查询字符串的API。这是我在GET方法中传递参数后得到的编码URL的API 带参数的API URL应为:- baseurl/v1/auth/getOTP?email=somename@email.com 但我得到的是:- baseurl/v1/auth/getOTP?email=somename%40email.com 我尝试的是:- "/auth/getOTP": { "get": { "t

我是一个新手,想要部署一个包含查询字符串的API。这是我在GET方法中传递参数后得到的编码URL的API

带参数的API URL应为:-

baseurl/v1/auth/getOTP?email=somename@email.com
但我得到的是:-

baseurl/v1/auth/getOTP?email=somename%40email.com
我尝试的是:-

    "/auth/getOTP": {
  "get": {
    "tags": [
      "pet"
    ],
    "summary": "",
    "description": "",
    "operationId": "findPetsByStatus",
    "produces": [
      "application/json",
      "application/xml"
    ],
    "parameters": [
      {
        "name": "email",
        "in": "path",
        "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"
        ]
      }
    ]
  }
},

Swagger OpenAPI已经指定:在这个GitHub中,由于不允许可选的路径参数,特别禁止在路径参数中使用它,例如,
{/foo}
通过使用可变路径段,很难将URL解析为操作

如果您想使用某种黑客,请遵循此GitHub

如果您真的需要,那么它在
in:query
参数中的支持,如下所示

allowReserved
关键字指定保留字符
:/?#[]@!$&'()*+,;=或应按百分比编码。默认情况下,
allowReserved
false
,保留字符为百分比编码

在这里,您需要将其设置为
true

"parameters": [
    {
        "name": "email",
        "in": "query",
        "description": "",
        "required": true,
        "type": "string",
        "allowReserved": true
    }
],
看看这个例子
更多细节如下。

在这个GitHub中,在
in:path
参数上特别禁止使用它,原因与它们不允许使用可选的路径参数相同,例如,
{/foo}
通过使用可变路径段将URL解析为操作变得困难

如果您想使用某种黑客,请遵循此GitHub

如果您真的需要,那么它在
in:query
参数中的支持,如下所示

allowReserved
关键字指定保留字符
:/?#[]@!$&'()*+,;=或应按百分比编码。默认情况下,
allowReserved
false
,保留字符为百分比编码

在这里,您需要将其设置为
true

"parameters": [
    {
        "name": "email",
        "in": "query",
        "description": "",
        "required": true,
        "type": "string",
        "allowReserved": true
    }
],
看看这个例子
有关更多详细信息,请参见。

在参数中添加此属性
allowReserved:true
,有关更多详细信息@turivishal:parameters:[{“name”:“email”,“in”:“path”,“description”:“required”:true,“type”:“string”,“allowReserved”:true}它也不起作用是的,您可以添加特定的
参数
对象以及名称、输入、类型属性它不起作用在您的参数中添加此属性
allowReserved:true
,有关详细信息@turivishal:我应该在哪里添加此属性,“参数”:[{“名称”:“电子邮件”,“in”:“path”,“description”:“required”:true,“type”:“string”,“allowReserved”:true}它也不工作是的,您可以在特定的
参数中添加对象以及名称、in、type属性它不工作