我有一个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
模式生成属性的方法。
答案 0 :(得分:0)
我找到了答案。
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
}
}
}