【发布时间】:2015-10-26 05:19:50
【问题描述】:
我是 WebAPI 编程的新手。这就是我所做的
在 Visual Studio 2013 中创建 ASP.NET Web 应用程序
SampleWebApiProject
在 .NET Framework 4.5.2 下选择
MVC并检查 [Add Folders and core references for] 下的 Web API。使用Nuget包安装knockout.js、knockout-validation.js等
在我的 Login.cshtml 代码中,我有 html 按钮
<div>
<button type="button" class="btn btn-info" data-bind="click:$parent.login">
Login
</button>
</div>
在我的点击按钮上我有
self.viewModelHelper.apiPost('api/account/login', unmappedModel,
function (result) {
}
我创建了名为AccountApiController的API控制器
public class AccountApiController : ApiController
{
[HttpPost]
[POST("api/account/login")]
public HttpResponseMessage Login(HttpRequestMessage request, [FromBody]AccountLoginModel accountModel)
{
return null;
}
}
但是,当我在 Chrome 开发者工具中检查点击事件时,我得到一个错误响应
POST http://localhost:64436/api/account/login 404 (Not Found).
这是我的 WebApiConfig
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我是否在使用正确类型的应用程序?
【问题讨论】:
标签: javascript c# asp.net asp.net-mvc-4 asp.net-web-api