【发布时间】:2018-06-29 00:00:00
【问题描述】:
我尝试在 DB 中的表上创建一个 web api get、post、delete 方法工作正常,但我在尝试应用 Put 方法时得到 405 Method Not Allowed通过使用 Fiddler
这里是post方法的代码:
[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 }
);
}
}
}
【问题讨论】:
-
你的 PUT 操作在哪里?
-
抱歉编辑了
-
UserId 参数可能是个问题。否则,如果没有看到一些客户端代码,我就无能为力了。
标签: c# entity-framework asp.net-web-api2