在Asp.net Web API中,开发人员在编写删除方法时可能会遇到以下问题:即使在请求成功执行的情况下,无论是自定义路由还是使用默认路由,都无法通过Delete方法正确调用Web API。 解决此问题的方法如下。
public class ItemsController : ApiController
{
...
// DELETE api/items/5
public void Delete(int id)
{
...
}
}
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:8080/api/");
HttpResponseMessage response = client.DeleteAsync("items/5").Result;
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
然后,就可以在客户端调用Delete方法来删除指定的项了。