我的意思是我有几条带有多个参数的路线:
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);
你应该能够,虽然我认为参数名称需要匹配路线。 所以你必须让你的路线像:
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);`