我的意思是,我有几条采用多个参数的路由:
api/sockId/sockColor
api/sockId/sockBrand
api/sockId/sockSize
我可以为所有这些声明一条路线吗?我在想像这样的东西:
config.Routes.MapHttpRoute(
name: "TwoArgumentGeneralRoute",
routeTemplate: "api/{controller}/{action}/{id1}/{id2}"
);
当然需要与我的操作方法相匹配:
public Task PostSockColor(int sockId, int sockColor);
public Task PostSockBrand(int sockId, int sockBrand);
public Task PostSockSize(int sockId, int sockSize);
答案 0 :(得分:0)
您应该能够,尽管我认为参数名称需要与路由匹配。
因此,您必须将路线设置为:
routeTemplate: "api/{controller}/{action}/{sockId}/{variant}"
然后,您的方法仅在{action}
(方法名)上有所不同:
public Task PostSockColor(int sockId, int variant);
public Task PostSockBrand(int sockId, int variant);
public Task PostSockSize(int sockId, int variant);`