不允许使用C#web Api2.0-405方法[put]
我尝试在DB get、post、delete方法中的一个表上制作一个web api,但当我尝试使用Fiddler应用Put方法时,我得到了405方法,这是不允许的 以下是post方法的代码:不允许使用C#web Api2.0-405方法[put],c#,entity-framework,asp.net-web-api2,C#,Entity Framework,Asp.net Web Api2,我尝试在DB get、post、delete方法中的一个表上制作一个web api,但当我尝试使用Fiddler应用Put方法时,我得到了405方法,这是不允许的 以下是post方法的代码: [HttpPut] public void Put(int UserID, [FromBody] User obj) { var webApi = db.WebApis.Find(UserID); if (webApi != n
[HttpPut]
public void Put(int UserID, [FromBody] User obj)
{
var webApi = db.WebApis.Find(UserID);
if (webApi != null)
{
webApi.Name = obj.Name;
webApi.address = obj.address;
}
db.SaveChanges();
}
webApiConfig文件:
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace WEbAPi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DatatApi",
routeTemplate: "data/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
确保在配置文件夹中有以下代码:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
确保在配置文件夹中包含以下代码:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
您是否定义了PUT方法,如果是,请发布它。否则,您的问题是您试图在没有PUT方法的情况下调用控制器上的PUT
编辑:
id属性名为UserID
,但在路由配置中指定的第三段是id
。将参数更改为id
您是否定义了PUT方法,如果是,请发布它。否则,您的问题是您试图在没有PUT方法的情况下调用控制器上的PUT
编辑:
id属性名为UserID
,但在路由配置中指定的第三段是id
。将您的参数更改为id
您的PUT操作在哪里?对此表示抱歉,可能是UserId参数有问题。否则,如果看不到客户端代码,我就说不出什么了。您的PUT操作在哪里?很抱歉编辑了。可能是UserId参数有问题。否则,如果没有看到客户端代码,我就说不出什么了。在问题中添加尝试将UserID更改为idYou应该将此标记为答案(如果对您有效)。在问题中添加尝试将UserID更改为idYou应该将此标记为答案(如果对您有效)。