首页 > 解决方案 > 查询中的 Swagger xml 参数标记

问题描述

我正在尝试将查询类型的参数添加到我的招摇中。在其他项目中,我可以使用以下符号在 yaml 中实现:

parameters:
 - name: currentPage
 in: query

现在我们在 Visual Studio 中使用 C#,我们被迫使用 XML。为了获得类似的结果,我得出了这个结论:

<param name = "id" in = "query">GUID</param>

但它不起作用。奇怪的是,即使我删除了部分参数也不起作用,例如:

<param name = "id">GUID</param>

包括函数签名的完整备注是:

/// <summary>
/// .....
/// </summary>
/// <remarks>
/// .....
/// </remarks>
/// <param name = "id" in = "query">GUID</param>
/// <response code="200">OK</response>        
/// <response code="404">Not Found</response>        
[HttpGet]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public IEnumerable<.....> Get()

你知道我错过了什么吗?

标签: c#xmlswagger

解决方案


我花了一段时间,但终于通过了。为了添加查询参数,您需要将其添加到带有 [FromQuery] 注释的方法签名中

public IEnumerable<Object> Get(
            [FromQuery] Guid Id,
            [FromQuery] DateTime RequestDate,
            [FromQuery] DateTime ExpirationDate,
            [FromQuery] string RequestedBy,
            [FromQuery] string PPEDD,
            [FromQuery] string SecurityConsultant,
            [FromQuery] string Status,
            [FromQuery] Guid TenantId,
            [FromQuery] Guid SubscriptionId,
            [FromQuery] string ResourceGroup,
            [FromQuery] string ResourceId
        )

推荐阅读