Asp.net web api asp.net web api中具有两个参数的方法

Asp.net web api asp.net web api中具有两个参数的方法,asp.net-web-api,Asp.net Web Api,如何使用ASP.NET Web Api创建具有两个参数的方法 因此,我可以像localhost/controller/param1/param2那样调用它,只需在global.asax中更改或添加路由即可 routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{} ); 您还可以在querystring中使用特定的参数名称调用url: /api/a

如何使用ASP.NET Web Api创建具有两个参数的方法


因此,我可以像localhost/controller/param1/param2那样调用它,只需在global.asax中更改或添加路由即可

routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{} );

您还可以在querystring中使用特定的参数名称调用url:

/api/actions?param1=5&param2=1/1/2000
那么控制器方法将是:

GetByParams(int param1, DateTime param2)

我认为最简单的方法就是简单地使用
AttributeRouting

[Route("api/YOURCONTROLLER/{paramOne}/{paramTwo}")]
public string Get(int paramOne, int paramTwo) {
    return "The [Route] with multiple params worked";
}
{}
名称需要与您的参数匹配


这是更好的答案。公认的答案是可行的,但URL没有那么大的意义/对于URL:,id/name的计算结果如下所示。那没有多大意义。像“文斯”是“12345”类别中的某个项目。这是一个更有意义或很好的答案。这正是我想要的。你能提供一个关于GetByParams方法的官方详细信息的链接吗?我一直找不到它。不过我已经测试过了,它的工作原理和你描述的一样。伙计,我用了1000次,一直认为这是一种“黑客”,还有更好的方法。看起来这实际上是最好的做法。。