摇摇欲坠不显示损坏的数组对象-ASP.net Core

时间:2020-07-01 02:24:35

标签: c# asp.net-core swagger swagger-ui swashbuckle

我具有以下C#ASP.Net Core Web API控制器方法,用于使用POST创建“实体”:

[HttpPost("example")]
[SwaggerResponse(200,"Ok")]
public async Task<IActionResult> Create([FromForm]MyModel create)
{
    return Ok();
}

模型定义为:

public class MyModel
{
    public string PropA { get; set; }
    public string PropB { get; set; }
    public List<OtherProp> Other { get; set; }
}

public class OtherProp
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
}

当这幅显示时,您可以看到“ Other”属性数组如下所示:

enter image description here

代替故障模型。我如何大张旗鼓地破坏这个模型?

1 个答案:

答案 0 :(得分:1)

缺少Swagger装饰器属性,请按照以下步骤操作,并用您的特定Types / MyModel

替换属性

由于您没有设置实际代码,因此要查看其工作原理,请使用默认示例,例如。您可以安装我的Swashbuckle.Examples NuGet软件包。使用下面的新SwaggerResponseExample属性装饰您的方法,您会发现它工作得很好!

// These attributes will help with your nested objects
[SwaggerResponse(HttpStatusCode.OK, Type=typeof(IEnumerable<Country>))]
[SwaggerResponseExample(HttpStatusCode.OK, typeof(CountryExamples))]
[SwaggerResponse(HttpStatusCode.BadRequest, Type = typeof(IEnumerable<ErrorResource>))]
public async Task<HttpResponseMessage> Get(string lang)

还请确保您进行了这样的配置

configuration
    .EnableSwagger(c =>
    {
        c.OperationFilter<ExamplesOperationFilter>();
    })
    .EnableSwaggerUi();