如何使用 Swashbuckle 在 Swagger 中屏蔽密码

How can I mask a password in Swagger using Swashbuckle

我们在 API 上使用 Swashbuckle,对于其中一种方法,我们提供登录。如何在 Swagger 中屏蔽密码 UI?

[HttpGet]
[Produces("text/plain")]
public async Task<string> Login(string userId, string password)

我看到 Swagger 表面上支持密码 fromat。然而,这不是 C# 代码。我不知道把这个放在哪里

@Parameter(schema = @Schema(type = "string", format = "password")) 

我们可以尝试将 DataType 属性与 DataType.Password 枚举一起使用,将其放入我们想要屏蔽的参数中。

[HttpGet]
[Produces("text/plain")]
public async Task<string> Login(string userId,[DataType(DataType.Password)]
 string password)

然后我们可以得到掩码参数如下

此修改可能在 v2.5.0 版本之后生效,该版本讨论自 Does not use DataType.Password #521

注意:使用命名空间System.ComponentModel.DataAnnotations

中的属性和枚举