我正在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,
1条答案
按热度按时间00jrzges1#
我也有这个问题!
您需要确保.csproj文件正在生成文档:
然后在配置Swagger时,确保使用XML注解引用对象的名称空间:
我的部分答案取自here。