【发布时间】:2017-11-27 10:56:12
【问题描述】:
我需要使用 .net 核心在 swagger ui 上添加特定的标题。有没有办法包含这样的标题?
已经尝试过:
-
实现 IOperationFilter:
public void Apply(Operation operation, OperationFilterContext context) { if (operation.Parameters == null) operation.Parameters = new List<IParameter>(); if (operation.Parameters.All(p => p.Name != "Proxy-Authorization")) { operation.Parameters.Add(new NonBodyParameter { Name = "Proxy-Authorization", In = "header", Description = "Proxy-Authorization token", Required = true, Type = "string" }); } } -
添加安全定义:
options.AddSecurityDefinition("Proxy-Authorization", new ApiKeyScheme() { In = "header", Description = "Please insert Proxy Authorization Secret into field", Name = "Proxy-Authorization", Type = "apiKey" });
两者都不起作用。当我更改标题名称时,一切正常,但是这个特定的标题会从调用中消失。
你遇到过这个问题吗?如何解决?
【问题讨论】:
-
在启用 swagger 时是否添加了操作过滤器实现?
-
感谢您的评论,但是是的。 Swagger 已启用,操作过滤器也已启用,授权标头工作正常。我想在授权之一旁边添加代理授权。当我在玩 swashbuckle 时,我发现不可能添加带有
proxy-前缀的标题。 -
你在 GitHub 上有一个最小的项目吗?我想解决您的问题...
-
您好,感谢您对这个问题感兴趣。请在github 上找到我的存储库。它显示了正在发生的事情。我在那里只创建了一个实现 IOperationFilter 的解决方案。但两者的工作原理相同。最好的问候
-
我在 swagger-ui 团队中输入了一个 bug:github.com/swagger-api/swagger-ui/issues/3956
标签: asp.net-core swagger-ui swashbuckle