【发布时间】:2019-05-16 16:11:38
【问题描述】:
我正在使用 ASP.NET Core 1.1 API 并尝试使用 Path 和 Query 参数创建一个 GET api,其中:
[HttpGet]
[Route("users/{stationId}/{stationSite}")]
public IActionResult GetUsers(int stationId, int stationSiteid, [FromQuery] Paging properties)...
分页是一个对象:
public int CurrentIndex {get; set;}
public int ItemsPerPage {get; set;}
现在,我需要这样的电话才能工作:
api/users/1/2?currentIndex=1&itemsPerPage=10
FromQuery 不起作用,它出现在 Swagger 上,但未将正确的值传递给 API。
我错过了什么吗??
【问题讨论】:
-
这应该可以,我刚刚测试过。
Paging类是否仅由这些字段组成?它的构造函数上有什么吗?此外,stationSite参数拼写错误。它必须与参数stationSiteid匹配。 -
这只是我当前代码中的一个示例。我只是想出了问题所在。确实这种方法效果很好,我已经在 Postman 上进行了测试。问题是:WebApi 使用的是 Swashbuckle(swagger) 版本 6.0.0-beta902,它无法识别以下 Paging 参数。一旦我将 Swashbuckle 更新到 4.1.0,它就可以正常工作了。这个 Swashbucle 版本是 NuGet 上的预发布版本,我只能在 Visual Studio NuGet 包管理器上列出它,但它与 nuget.org/packages/Swashbuckle.AspNetCore/1.1.0 无关 - 这让我感到困惑。感谢您的宝贵时间。
-
啊,所以它不起作用的是从招摇中调用 API?知道了。也许将其发布为答案,以便其他人受益:)
标签: asp.net-core get asp.net-core-webapi