2014-03-26 36 views
0

我一直試圖讓這個工作失敗。PostAsJsonAsync和匿名類型 - 404未找到錯誤

我使用的API AttributeRouting,我已經在我的WebAPI定義這個方法:

[POST("update"), JsonExceptionFilter] 
    public HttpResponseMessage PostUpdate([FromJson] long id, DateTime oriDt, string notes, int score) 

當我嘗試用下面的代碼來調用這個:

​​

的響應總是404 - not found。我在這裏錯過了什麼?我試過在代碼中使用一個叫做args的匿名對象,它有相同的問題。

我也試過了,並且沒有[FromJson]屬性以及相同的結果。

回答

0

首先,刪除[FromJson]。有了這個,你有這個動作方法。

public HttpResponseMessage PostUpdate(long id, DateTime oriDt, string notes, int score)

如果您發佈到下面的URI,它會奏效。

/更新/ 123?oridt = somedate &筆記= somenote &得分= 89

如果要使用請求主體要發佈字段(如你與客戶端代碼做),聲明含有類名稱與請求主體中的字段相同的屬性。

public class MyDto 
{ 
    public long Id { get; set; } 
    public DateTime OriDt { get; set; } 
    public string Notes { get; set; } 
    public int Score { get; set; } 
} 

然後像這樣改變動作方法。

public HttpResponseMessage PostUpdate(MyDto dto)