【发布时间】:2021-12-16 18:29:33
【问题描述】:
我已将 ASP.NET Web API 添加到在 Visual Studio 2019 中开发的 ASP.NET MVC 5 Web 应用程序项目中。
WebApiConfig:
public class WebApiConfig {
public static void Register(HttpConfiguration config) {
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Global.asax.cs:
public class MvcApplication : HttpApplication {
protected void Application_Start() {
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(WebApiConfig.Register);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Api 控制器方法:
// GET: api/Web
public IEnumerable<string> Get() {
return new string[] { "value1", "value2" };
}
当我点击https://localhost:44324/api/web 时,浏览器会出现此错误:
找不到资源。
说明:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。请求的网址:/api/web
【问题讨论】:
-
您需要在 url 中添加控制器名称,例如如果您有 HomeController,那么您的 url 将是 localhost:44324/api/home/web
标签: rest asp.net-web-api asp.net-mvc-5