asp.net-web-api – 为什么我在web api中从我的POST获得404响应
|
我的Web api控制器中有以下操作: // POST api/<controller>
[AllowAnonymous]
[HttpPost]
public bool Post(string user,string password)
{
return true;
}
当使用fiddler或测试jQuery脚本来触发404状态时,我收到以下错误: {“消息”:“没有找到符合请求URI的HTTP资源”http://localhost/amsi-v8.0.0/api/account“。”,“MessageDetail”:“控制器上没有找到任何操作”帐户’符合请求。“} 我的http路由如下: RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
);
得到工作正常我在这里发现了另一个问题,它从IIS中删除WebDAV。我试过,还是一样的问题。 为什么我得到404? 解决方法ASP.NET Web API中的默认操作选择行为也关心您的操作方法参数。如果它们是简单类型的对象,并且它们不是可选的,则需要提供它们才能调用该特定的操作方法。在您的情况下,您应该向URI发送一个请求,如下所示:
如果要在请求体内获取这些值,而不是查询字符串(这是一个更好的主意),只需创建一个User对象并相应地发送请求: public class User {
public string Name {get;set;}
public string Password {get;set;}
}
请求:
您的操作方法应该如下所示: public HttpResponseMessage Post(User user) {
//do what u need to do here
//return back the proper response.
//e.g: If you have created something,return back 201
return new HttpResponseMessage(HttpStatusCode.Created);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 异步HttpModule MVC
- asp.net-mvc – DropDownListFor在编辑视图上不重复的项目(
- asp.net-mvc – 如何使用Ninject将服务注入授权过滤器?
- asp.net-mvc – MVC查看可空的日期字段格式
- asp.net-mvc – ASP.NET MVC 3:RouteExistingFiles = true
- asp.net – 编程控制输出缓存 – 根据参数值禁用或启用缓存
- asp.net-mvc – 如何单元测试应用了[Authorize]属性的控制器
- asp.net-mvc – 路由在Asp.net Mvc 4和Web Api
- asp.net-mvc – 在ASP.Net中路由保留字
- asp.net-mvc-2 – 在自定义模型绑定器中设置ModelState值
- asp.net mvc和css:选择时突出显示菜单选项卡
- 强制ASP.Net MVC Bundle以某种顺序呈现javascrip
- asp.net – BC30560:’ExtensionAttribute’在名
- 如何在本地运行ASP.NET C#Web应用程序?
- ASP.NET – 如何单元测试WebControls?
- asp.net-mvc – MapMvcAttributeRoutes:此方法不
- asp.net-mvc-4 – 组合ASP.NET MVC4捆绑和requir
- asp.net – tinymce在回发时获取HTML代码
- asp.net-mvc-3 – 首先使用代码禁用整数主键上的
- asp.net-mvc – 为什么实体框架在更新父项时会插
