我正在学习角度和web api并且在路由方面有点困难。例如,我想使用以下localhost显示产品:53967 / products。
我的申请文件如下。
(function () {
var productListApp = angular.module("productManagement", ["common.services", "ui.router"]);
productListApp.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");//default url
$stateProvider.state("productList", {
url: "/products",
templateUrl: "app/products/productListView.html",
controller: "ProductListController"
})
});
})();
我还有一个Index.cshtml页面集如下。
<div class="container">
<div ng-view></div>
</div>
WebApiConfig
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这是我的Global.asax文件
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
}
localhost:53967/products
返回404。
可能是什么错误?
此致
答案 0 :(得分:1)
localhost:53967 / products返回404.可能是什么错误?
您可能正在寻找http://localhost:53967/api/products
而不是http://localhost:53967/products
。确保您与路线声明一致:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
你那边有api/
前缀,所以客户也应该尊重这一点。