使用 FastEndpoints 在 ASP.NET Core 6 的 Swagger 请求中添加自定义标头

问题描述 投票:0回答:1
builder.Services.AddSwaggerDoc(settings =>
{
    settings.Title = "IPR Backend API";
    settings.Version = "v1";
    settings.AddAuth("ApiKeyAuth", new()
    {
        Name = "ApiKey",
        In = NSwag.OpenApiSecurityApiKeyLocation.Header,
        Type = NSwag.OpenApiSecuritySchemeType.ApiKey,
    });
}, addJWTBearerAuth: false);

app.UseOpenApi();
app.UseSwaggerUi3(s => s.ConfigureDefaults());

该请求包含两个标头

ApiKey
CorrelationId
,其中包含一些在控制器通过 fastendpoints 预处理器到达实际路由之前要验证的值。我需要通过 Swagger 在我的请求中添加这些自定义标头。目前我无法通过 Swagger 运行请求,需要 Postman 来测试我的 API:

c# swagger .net-6.0 fast-endpoints
1个回答
0
投票

您似乎正在使用过时的 swagger 配置方法。请参阅 this gist 了解使用 swagger 进行 api-key 身份验证的完整示例。

至于添加自定义标头参数,您需要为nswag注册一个自定义操作处理器,如此示例所示。

所有这些示例均来自 fastendpoints Cookbook

© www.soinside.com 2019 - 2024. All rights reserved.