首页 > 解决方案 > Swashbuckle.AspNetCore.SwaggerGen - 添加带有固定枚举列表的标头参数 - .NET 5 rest api

问题描述

我要求发送到我的 api 的所有请求都需要提供标头参数。它们的可能值数组是固定的(我们的域模型的名称) - 我们使用 CQRS 驱动的 api。我创建了一个实现 IOperationFilter 的类并添加了所需的参数没问题。我正在努力限制该新标头参数的可能值。现在我能做的就是将它作为一个自由文本字段,但我希望 Swagger 将它解释为一个带有可能值列表的下拉列表(大约 8 个值)。有没有人这样做过?

到目前为止我所拥有的:

public class DomainModelHeaderParameter : IOperationFilter
{
    public void Apply(OpenApiOperation operation, OperationFilterContext context)
    {
        operation.Parameters ??= new List<OpenApiParameter>();

        operation.Parameters.Add(new OpenApiParameter
        {
            Name = "Content-Type",
            Description = "application/json;domain-model",
            In = ParameterLocation.Header,
            Schema = new OpenApiSchema()

        });
    }

它给了我什么: 在此处输入图像描述

谢谢

标签: swagger.net-5rest

解决方案


推荐阅读