我需要映射以创建控制器必须响应两个 url:
- “http://localhost/api/controller?id=1”(只有 id 值可以改变)
- “http://localhost/api/controller/anotherId/someconst”(其中 anotherId 是唯一变化的部分)
我将它映射到这样的路线:
routes.MapHttpRoute("Test", "api/{controller}/{id}/{someconst}", new { controller = "Test", someconst = RouteParameter.Optional });
并且必须在我的控制器中使用方法:
public void Get(int id) { ... }
public void Get(int anotherId, string someconst ) { ... }
它有效......但它看起来不太好......因为“string someconst”不是参数,它只是url的一个const部分。但是,如果我删除“string someconst”参数,第二个 url 将不起作用。是否可以将一个控制器映射到两条路由以解析此 url,以使其清楚,而无需假参数,实际上是 const?