Swashbuckle动态更改标头值

时间:2019-01-18 09:53:24

标签: c# swagger swashbuckle

我可以在swashbuckle中设置标头,但是在每个发送请求中我都需要更改标头值,我需要这样做的原因是因为我们有身份验证代码(基本上是库),它为每个api请求生成一个令牌,因此为了生成令牌,它需要url,body等。 因此,我正在寻找一种方法,在每个api请求中,调用我们的生成令牌的内部代码来设置针对标头的值,然后传递给实际的控制器,后者将再次生成令牌以与标头令牌进行比较。

void IOperationFilter.Apply(Operation operation, OperationFilterContext context)
            {
                if (operation.Parameters == null)
                    operation.Parameters = new List<IParameter>();
                operation.Parameters.Add(new NonBodyParameter
                {
                    Name = "Content",
                    In = "header",
                    Description = "Content",
                    Required = true,
                    Type = "string"
                });
                operation.Parameters.Add(new NonBodyParameter
                {
                    Name = "AuthorizationToken",
                    In = "header",
                    Description = "Token",
                    Required = false,
                    Type = "string"
                });
            }

0 个答案:

没有答案