webapi HttpGet请求传多个参数的问题

易寒 2015-12-09 04:19:44
有个webapi方法
[HttpGet]
public List<Product> SearchProduct(int pageIndex,int pageSize,string category,string name)
{
return new List<Product>();
}
那么要用如下的url去访问这个方法
http://locahost:6233/api/product/SearchProduct?pageIndex=1&pageSize=10&cateory=&name=

由于cateory和name两个参数的值为空,所以不需要传这两个参数,像下面这样:
http://locahost:6233/api/product/SearchProduct?pageIndex=1&pageSize=10
但是这种参数个数不写全的url请求,导致404错误而找不到SearchProduct这个方法,而且这种完整的写法太死板,因为wcf rest是可以这样访问的,少了参数照样可以访问到wcf rest接口;
有没有办法可以让webapi在少传参数的情况下,也可以访问到上面的SearchProduct()方法,本题不讨论传复杂参数的情况

...全文
5486 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
易寒 2015-12-11
  • 打赏
  • 举报
回复
引用 1 楼 masanaka 的回复:
用Optional参数

public string Get(int id, string name = "default  value")
{
    return $"value {id} {name}"
}
正解,这样写果然可以
masanaka 2015-12-09
  • 打赏
  • 举报
回复
用Optional参数

public string Get(int id, string name = "default  value")
{
    return $"value {id} {name}"
}
超过三个以上参数,还是考虑用model吧。

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧