繁体   English   中英

Swashbuckle OperationFilter添加类型对象的参数

[英]Swashbuckle OperationFilter to Add Parameter of Type Object

我有一个C#对象

public class MyObject
{
 public int property1 { get; set; }
 public string property2 { get; set; }
 public string property3 { get; set; }
}

我想创建一个具有MyObject模式的object类型的参数。

public class MyFilter : IOperationFilter
{
 public void Apply(OpenApiOperation operation, OperationFilterContext context)
 {
   operation.Parameters.Add(new OpenApiParameter
   {
    Name = "MyParameter",
    Description = "MyDescription"
    In = ParameterLocation.Header
    Required = true,
    Schema = new OpenApiSchema()
    {
     Type = "object",
     Properties = new Dictionary<string, OpenApiSchema>()
     {
       // MyObject
     }
    }
   }
  }
}

Swashbuckle是否提供任何可以使用MyObject架构自动生成属性的方法。

我找到了答案。

public class MyFilter : IOperationFilter
{
 public void Apply(OpenApiOperation operation, OperationFilterContext context)
 {
   var myObjectSchema = context.SchemaGenerator.GenerateSchema(typeof(MyObject), context.SchemaRepository);
   operation.Parameters.Add(new OpenApiParameter
   {
    Name = "MyParameter",
    Description = "MyDescription"
    In = ParameterLocation.Header
    Required = true,
    Schema = myObjectSchema
   }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM