我越來越想訪問我的Web API動作之一時,未找到404錯誤:的Web API路由找不到404
我有我的WebAPIConfig:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我有一個控制器命名爲OnSourceAPIController和GET操作ValidateServiceRequestAuto。
我得到一個404錯誤,當我嘗試去:
http://localhost/api/OnSourceAPI/ValidateServiceRequestAuto
我的第一個猜測是我有某種路由錯誤的,但我創建了一個MVC控制器和索引頁,並能通過這個路由(api/controller/action)正常瀏覽。內置api /幫助頁甚至顯示/ api/OnSourceAPI/ValidateServiceRequestAuto作爲我的api調用的路由。
我也試過使用WebAPIRouteDebugger工具。它給了我000 404未找到錯誤,當我使用
http://localhost/api/OnSourceAPI/ValidateServiceRequestAuto
,但實際上給我正常的路由信息,如果我把本地主機關閉前的,只是使用
api/OnSourceAPI/ValidateServiceRequestAuto as the URL...
任何指針會讚賞。
我沒有完全相同的問題,但是這讓我看着辦吧出。我從WebClient類調用服務,並且我的BaseAddress在最後缺少'/'。所以我認爲這可能是調用localhost/apiapi/controller/action。 – bcwhims 2015-01-13 16:00:10
我剛剛有完全相同的問題,也感覺有點傻!謝謝你分享你的問題,我不知道我會一直追着多久,否則 – Michael12345 2015-03-12 17:54:50
你確定你需要URL的'action'部分嗎? Web API意味着您將HTTP動詞映射到控制器(ApiController的)中具有相同名稱的動作。 – 2016-03-24 23:02:54