查询参数中传递的聚合对象的Swagger描述不起作用

vs3odd8k  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(71)

我正在dotnet中开发一个GET API,我一直在尝试记录传递的查询参数,它是一个用于结果分页的聚合对象(页面大小和页码)。get方法的注解/文档:

/// <param name="Id">ID used to identify a record</param>
/// <param name="paginationParams">Request object that contains the pagination parameters <inheritdoc cref="PaginationParameters"/></param>

正如你在上面看到的,我指的是PaginationParameters聚合对象/模型。现在,这似乎没有正确工作,或者没有影响,因为我可以将字段更改为[Required],然后 Swagger 反映出来。然而,值得注意的是,ID字段的记录很好。
下面是get方法的方法签名:
public async Task<IActionResult> GetStuff([FromHeader][BindRequired] int Id, [FromQuery] PaginationParameters paginationParams)
最后,我的模型如下:

/// <summary>
/// Pagination parameters 
/// </summary>

public class PaginationParameters
{   /// <summary>
    /// PageNumber
    /// </summary>
    [Required]
    public int? PageNumber { get; set; } = null;
    /// <summary>
    /// PageSize
    /// </summary>
    [Required]
    public int? PageSize { get; set; } = null;
   
}

它的驾驶我的墙上,它不工作,我相信这将是一个简单的修复,它似乎只是忽略了我的描述页面大小和页码。
TIA,

00jrzges

00jrzges1#

我也有这个问题!
您需要确保.csproj文件正在生成文档:

<GenerateDocumentationFile>True</GenerateDocumentationFile>

然后在配置Swagger时,确保使用XML注解引用对象的名称空间:

var filePath = Path.Combine(AppContext.BaseDirectory, "Your.Api.Namespace.xml");
c.IncludeXmlComments(filePath);

我的部分答案取自here

相关问题