2017-08-28 63 views
0

我有一個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本地 任何想法爲什麼會發生? 在此先感謝

回答

1

從哪裏發送請求到這種方法?從AJAX請求? GET(帶ID)PUT和DELETE具有相同的路由URL。如果您通過AJAX調用,則必須指定動詞。否則,應用程序會在GET,PUT和DELETE之間產生混淆。

+0

我的客戶正在從他的Android應用調用我的API。他指定了動詞。我也從郵差中檢查過。同樣的結果。 –

+1

我已經試過了你從郵遞員的確切代碼,它正在工作。您是否嘗試使用put參數作爲查詢字符串,如下所示:http:// localhost:62454/api/values/5?value = str – Tanjeer

+0

這正是我在做的: http:// localhost/pinstogram/api/PUT方法中的值/ 5 –

相關問題