在C#中调用HttpPut和HttpDelete时发生错误WebAPI
问题描述:
我有一个WebAPI 2控制器。非常简单,很简单:在C#中调用HttpPut和HttpDelete时发生错误WebAPI
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
Get和Post方法很好。但删除和放置不起作用。而出现此错误:
HTTP错误404.0 - 找不到 您正在寻找已被删除的资源,有其名称更改,或者暂时不可用。
*在IIS Express中,所有方法都能正常工作。但不在IIS本地 任何想法为什么会发生? 在此先感谢
答
从哪里发送请求到这种方法?从AJAX请求? GET(带ID)PUT和DELETE具有相同的路由URL。如果您通过AJAX调用,则必须指定动词。否则,应用程序会在GET,PUT和DELETE之间产生混淆。
我的客户正在从他的Android应用调用我的API。他指定了动词。我也从邮差中检查过。同样的结果。 –
我已经试过了你从邮递员的确切代码,它正在工作。您是否尝试使用put参数作为查询字符串,如下所示:http:// localhost:62454/api/values/5?value = str – Tanjeer
这正是我在做的: http:// localhost/pinstogram/api/PUT方法中的值/ 5 –