添加此内容时,有很多建议的问题/答案。我经历了一堆,似乎没有帮助。
我确定我缺少简单的东西,只是看不到它。
我有一个现有的ASP.Net MVC(V5)网站。这是一个页面。
我正在向其添加一个API控制器(WebAPI 2)来处理一些ajax帖子。
尝试发布到控制器时,我似乎无法摆脱404错误。
我也在使用属性路由。
这是我认为您需要查看的部分代码:
API控制器
[RoutePrefix("api/services")]
public class ServicesController : ApiController
{
[HttpPost]
[Route("contact")]
public HttpResponseMessage SendContact(ContactModel model)
{
return Request.CreateResponse(HttpStatusCode.OK, true);
}
}
WebApiConfig-在我尝试操作时注释掉了几个部分。
public class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
configuration.MapHttpAttributeRoutes();
//configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
// new { id = RouteParameter.Optional });
}
}
而我的global.cs-再次评论了我尝试过的事情
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
//WebApiConfig.Register(GlobalConfiguration.Configuration);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register);
尝试发布到api时,我收到:
POST http://localhost:8085/api/services/contact 404 (Not Found)
知道我缺少什么吗?
试穿
GlobalConfiguration.Configure(WebApiConfig.Register);
前
RouteConfig.RegisterRoutes(RouteTable.Routes);
所以应该是:
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句