需求是这样的,http 需要接收若干个参数,采用[HttpGet],其中 page 参数和 size 参数都是有默认值的,其他参数都不是必须的。 当我使用[FromUri]传递参数的时候,测试时只选择了 page 和 size 参数,出现错误如下:
{
"Message": "找不到与请求 URI“http://localhost/open/user/supplier/users?page=2&size=10”匹配的 HTTP 资源。",
"MessageDetail": "在控制器“User”上找不到与该请求匹配的操作。"
}
只有将全部参数都带上才没有错误,比如这样
http://localhost/open/user/supplier/users?account=dw2071&page=2&size=10
但我现在的需求是参数不是必须的 目前代码是这样的
public IHttpActionResult getUsers(
[FromUri] string account,
[FromUri] string name,
[FromUri] string insDateL,
[FromUri] string insDateU,
[FromUri] string status,
[FromUri] bool direction,
[FromUri] string sort,
[FromUri] int page = 1,
[FromUri] int size = 10
)
{
// exp
}
我想问一下如何解决这个问题?谢谢
1
kingkongs OP 设置默认值可以解决
|
2
MonoLogueChi 2020-03-24 14:18:56 +08:00
试试不写[FromUri],或者是所有参数写成一个类,用[FromQuery]
|