我正在尝试从asp.net核心api应用程序构建swagger文档。我面临的问题是我的响应对象ProductResponse(有关详细信息,请参见下文),该对象将字符串的IEnumerable作为属性。
字符串是JSON对象
其可以是任何内容(未知类型)(不同键/值)。
如何使用OpenAPI 3.0为未知类型生成swagger文档**。有什么建议吗?**
响应对象如下所示
{
"items": [
"string"
]
}
WebApi .NET核心代码如下所示
/// <summary>
/// Get product
/// </summary>
/// <remarks>product</remarks>
/// <param name="RequestDto"></param>
/// <returns></returns>
/// <response code="200">Successful Response</response>
/// <response code="400">Bad Request</response>
/// <response code="401">Unauthorized</response>
/// <response code="424">Failed Dependency</response>
/// <response code="500">Internal Server Error</response>
[ProducesResponseType(typeof(ProductResponse), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status401Unauthorized)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status424FailedDependency)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)]
[HttpGet(Name = "getProduct")]
public async Task<IActionResult> Get([FromQuery]Request RequestDto)
{
....some code here.
}
public class ProductResponse
{
[JsonPropertyName("data")]
public IEnumerable<string> data { get; set; } = Enumerable.Empty<string>();
}
1条答案
按热度按时间yhxst69z1#
如何使用OpenAPI 3.0为未知类型构建swagger文档?有什么建议吗?
据我们所知,swagger至今一直追随
data type
。因此,不符合上述
data-type
的模式称为Any Type
**注:**如需更多信息,请参阅此
offical document here