2017-04-14 26 views
0

我試圖創建表格的簡單路徑(在以下路線模板「參數」是唯一的變量):的Web API 2.0路由只有一個可變段(用於輸入參數)

config.Routes .MapHttpRoute( name:「RouteName」, routeTemplate:「/ ActionName/{param}」, 默認值:new {controller =「ControllerName」,action =「ActionName」} );

(參數不是可選的)。

爲了簡單起見,這是我的WebApiConfig.Register()方法中的唯一路由。不,沒有調用config.MapHttpAttributeRoutes();

但似乎在叫一樣的路徑沒有找到:

本地主機:XXX/ActionName /參數=等等

本地主機:XXX/ActionName /等等

只要看看會發生什麼,如果我有我的路線定義像這樣:

config.Routes.MapHttpRoute( name:「RouteName」, routeTemplate:「Controller/ActionName/{param}」, 默認值:new {controller =「ControllerName」,action =「ActionName」} );

和稱爲像這樣:

本地主機:XXX /控制器/ ActionName/PARAM =嗒嗒

本地主機:XXX /控制器/ ActionName /嗒嗒

,仍然沒有喜悅。我錯過了什麼,或者Web API不是使用默認對象映射控制器?

+0

顯示您試圖映射的控制器和操作示例,因爲它與上述示例相關。請正確格式化您的問題,因爲它目前很難閱讀 – Nkosi

回答

0

感謝您的迴應恩科西。

不幸的是,由於機密性,我無法發佈實際的代碼。我得到了404 - 在我試圖解決的問題中找不到。

原來如果我添加「參數」我的默認對象,如下所示: 新{控制器=「ControllerName」,行動=「ActionName」帕拉姆= RouteParameter.Optional}

(即使它是一個所需的參數),那麼一切正常。除非我這樣做,我不能使用查詢字符串格式命名參數

本地主機:XXX/ActionName /參數=等等

如果我忽略它,那麼我必須使用分段模式如下:

本地主機:XXX/ActionName /嗒嗒再次

感謝想看看吧。