Web API 2 및 Entity Framework를 사용하여 ASP.Net MVC 5 응용 프로그램을 개발 중입니다. EmployeeAPIController 라는 Entity Framework를 사용 하고 아래와 같이 ajax 호출을 사용하여 API를 사용하여 작업 이 포함 된 WEB API 2 컨트롤러를 만들었습니다 .
function loadEmployees() {
alert("In Load");
$.ajax({
type: "GET",
url: "/api/EmployeeAPI",
success: function (data) {
self.Message("Success");
self.Employees(data);
},
error: function (err) {
alert(err.status);
}
});
};
하지만 항상 404 오류가 발생합니다. 내 RouteConfig 파일은 다음과 같이 구성됩니다.
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
404에 대한 이유는 무엇입니까? 저는 MVC 및 Web API의 초보자입니다. 도와주세요.
문제가 해결되었습니다. WebApiConfig.cs
App_Start 폴더 에 누락 된 파일이 있습니다. 수동으로 파일을 추가했습니다.
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
그리고 Global.asax
같은 구성
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
그것은 나를 위해 작동합니다. 응답 해 주셔서 감사합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다