我为这样的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
设置为某些控制器的必需项,而另一些控制器的可选项吗?