我具有以下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”属性数组如下所示:
代替故障模型。我如何大张旗鼓地破坏这个模型?
答案 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();