4
WebAPIConfig的WebAPI路由表
config.Routes.MapHttpRoute(
name: "TestApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我APIController:
public class TestController : ApiController
{
[HttpPost]
public string Send([FromBody] string id)
{
return "Got " + id;
}
}
這一切運作良好,直到我改變PARAM 「ID」 的的NAME讓我們說「輸入「在我的API程序上。
MY(錯的)假設
我的印象是,通過將{XX}支架上的路由表的網址,我們真的聲稱任何1 PARAM將從請求調用中使用。
根據我的小樣本這似乎並非如此。
問題1:
這是否意味着,如果我有10種API方法(即像註冊,登錄,註銷,sendemail ...),而不是標準默認GET/POST/PUT /刪除.. ..i將需要10個單獨的路由條目爲每個?
問題2:
此外,我們如何代表在路由表中預計,一類POCO領域的API? 我們是否在MapHttpRoute上聲明每個人和單獨的字段名?
問題1:你可以使用一個功能叫做混疊前:'([FromUri(NAME =「ID」)字符串輸入)'...所以你仍然可以保持'TestApi'路線,因爲它是.. –
@KiranChalla是在路由上還是在控制器上? –