如何让 Swagger 在 Header 和请求 URL 中发送 api_key?

How to get Swagger to send api_key in Header and in request URL?

我可以将 API 键表示为 header 或 URL 末尾的标签,但我需要它两个都。有什么办法可以做到这一点吗?图片有链接

window.swaggerUi.api.clientAuthorizations.add(swashbuckleConfig.apiKeyName, new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, "header"));
      window.swaggerUi.api.clientAuthorizations.add(swashbuckleConfig.apiKeyName + " query", new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, "query"));

securityDefinitions 部分(在 OpenAPI 2.0 中)或 components/securitySchemes 部分(在 Open[=31= 中)定义 header 和查询参数] 3.0) 你的 API 定义:

# swagger: '2.0'

securityDefinitions:
  apiKeyHeader:
    type: apiKey
    in: header
    name: X-EGEN-AccessTokenID
  apiKeyQueryParam:
    type: apiKey
    in: query
    name: api_key   # replace with your query param name

然后,如果您需要同时 header 和查询参数在同一请求中传递:

security:
  - apiKeyHeader: []
    apiKeyQueryParam: []

或者如果 应该使用 header 或查询参数,但不能同时使用:

security:
  - apiKeyHeader: []
  - apiKeyQueryParam: []

更多信息在这里: http://swagger.io/docs/specification/authentication/api-keys/

在 Swagger UI 中,当您单击 "Authorize" 时,您将输入 header 和查询参数的值。