問題
如何為路由中參數(shù)設置默認值。
解決方案
不管使用屬性路由還是集中式路由,ASP.NET WEB API 都可以很方便的為路由定義默認參數(shù)。在每次客戶端請求的時候,如果客戶端沒有傳這些參數(shù),框架會自動給他們賦值。
對于集中式路由,MapHttpRoute 擴展方法接收默認值使用的是第三個參數(shù) IDictionary
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new {id = VALUE} );
在屬性路由中,直接在屬性聲明中定義默認值。
[Route("items/{id:int=VALUE}")] public HttpResponseMessage Get(