0

我在这里找到了一个类似的线程,但那是针对.Net Core的。我对Swagger.Net API( .Net Framework ) 有同样的问题。

我将 Swagger.Net API 版本 8.3.35.101 与 .Net 框架 4.6.1 一起使用,并且我在 Swagger UI 中为每个方法都获得了一个锁定图标。我的应用程序中的某些 API 不需要身份验证,因此我想从此类 API 中删除挂锁图标。

在此处输入图像描述

在上图中以红色突出显示的图像中可以看到需要移除的挂锁图标。我相信可以通过实现IOperationFilter来为匿名方法隐藏它,但找不到任何示例代码来使用 .Net 框架实现它。

4

1 回答 1

1

以下是我们在评论中讨论的答案:

问题是配置上的类型不正确ApiKey,应该是这样的:

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthorizeAttribute));
c.ApiKey("appId", "header", "APP ID Authentication", typeof(KeyAuthorizeAttribute));

github上的代码:
https ://github.com/heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Start/SwaggerConfig.cs#L75

还有一个现场样本:
http ://nhc-noaa.azurewebsites.net/swagger/ui/index?docExpansion=list&filter=#/

挂锁图标仅在其中一个上 在此处输入图像描述

于 2021-01-27T15:05:40.527 回答