如何使用OpenAPI 3.0为未知类型创建swagger文档

20jt8wwn  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(218)

我正在尝试从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>();
}
yhxst69z

yhxst69z1#

如何使用OpenAPI 3.0为未知类型构建swagger文档?有什么建议吗?
据我们所知,swagger至今一直追随data type

string (this includes dates and files)
number
integer
boolean
array
object

因此,不符合上述data-type的模式称为Any Type

**注:**如需更多信息,请参阅此offical document here

相关问题