我需要地圖創建控制器什麼是必須應對兩個URL:類似路由映射
- 的「http://本地主機/ API /控制器ID = 1」(其中僅值ID可以改變)
- 的 「http://本地主機/ API /控制器/ 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) { ... }
它的工作原理......不過,這並不好看......導致「串someconst」是不是設置了一個param,它的URL的只是一個常量的一部分。但是,如果我刪除「字符串someconst」參數第二個網址將無法正常工作。 是否有可能將一個控制器映射到兩個路徑來解析這個url,使其清晰無誤地假設這是一個常量?
你的意思是說你想在控制器上做另一個動作嗎?你可以說「api/{controller}/{id}/{action}」,然後代替調用它「public void Get(int anotherId,string someconst)」,你可以把它叫做「public void GetSomeConst(int anotherId)」。只要確保你設置了你的默認行動 – parKing
我完全不理解你,但認爲你是對的...我找到了同樣的解決方案...謝謝 –