Jos*_*ade 4 asp.net-mvc-routing asp.net-web-api
尝试访问我的一个Web API操作时,我收到404未找到错误:
我有我的WebAPIConfig:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
我有一个名为OnSourceAPIController的控制器和一个GET操作ValidateServiceRequestAuto.
我尝试去的时候收到404错误:
http://localhost/api/OnSourceAPI/ValidateServiceRequestAuto
Run Code Online (Sandbox Code Playgroud)
我的第一个猜测是我遇到了某种路由错误,但我为它创建了一个mvc控制器和一个索引页,并且能够通过这种路由(api/controller/action)正常浏览.内置的api/help页面甚至将/ api/OnSourceAPI/ValidateServiceRequestAuto显示为我的api调用的路由.
我也尝试过使用WebAPIRouteDebugger工具.当我使用它时,它给我一个000 404找不到的错误
http://localhost/api/OnSourceAPI/ValidateServiceRequestAuto
Run Code Online (Sandbox Code Playgroud)
,但实际上给我正常的路线信息,如果我把localhost从前面拿走并且只是使用
api/OnSourceAPI/ValidateServiceRequestAuto as the URL...
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激.
我想通了,现在觉得有点傻.
我的webapi项目在我的普通网站项目中运行,路径为.../api,所以因为我将api路由设置为api/controller/action,我真正需要使用的路径是localhost/api/api /控制器/动作.事实证明,404就在那里,因为它确实找不到该位置的任何东西.当计算机完全按照你告诉他们的方式行事时,我讨厌它.
| 归档时间: |
|
| 查看次数: |
13458 次 |
| 最近记录: |