特定控制器的自定义标头:SwaggerGen

时间:2019-07-16 07:16:18

标签: c# swagger swagger-ui swagger-codegen

我为这样的SwaggerGen添加了自定义标头

public class AddRequiredHeaderParameter : IOperationFilter
{
    public void Apply(Operation operation, OperationFilterContext context)
    {
        if (operation.Parameters == null )
        {
            operation.Parameters = new List<IParameter>();
        }

        operation.Parameters.Add(new NonBodyParameter
        {
            Name = "X-APIKey",
            In = "header",
            Type = "string",
            Required = false
        });

    }
}

我已经这样注册AddParameterHeaderParameter

 c.OperationFilter<AddRequiredHeaderParameter>();

现在这可以正常工作,并且此参数已添加到Swagger UI中,但是问题是这对于某些控制器是必需的,而对于其他控制器是可选的。现在,我已将其标记为对于每个方法/控制器都是可选的。

无论如何,我可以将此OperationFilter设置为某些控制器的必需项,而另一些控制器的可选项吗?

0 个答案:

没有答案