所以我有一個有點問題......事情是,我有一個具有執行所有GET/POST/PUT/DELETE一個基類,它是一個通用類,所以基本上什麼我實體我更新經過那裏,然後我有我的實體類實現該類...問題落實兒童類方法
public virtual async Task<IHttpActionResult> Put([FromODataUri] TKey key)
的事情是,對於實體之一,我想更新數據庫,因此前實施額外的邏輯我以爲我只是做它的子類,然後是新的邏輯後,我調用基類的方法和應該做的伎倆,所以我創建了一個重載的方法
public override Task<IHttpActionResult> Put(int key){
//NEW LOGIC
return base.Put(key);
}
說我有問題是,當我做來自客戶端的請求時,如果我沒有這種新的方法來實現它工作正常,並調用基化酶法和實體被更新,但我加入後這一點,使用完全相同則返回400響應相同的AJAX請求......誰能幫我搞清楚這是怎麼回事?非常感謝:)
我認爲這是錯誤的本質和違背Odataprotocol。 'PUT'必須有模型作爲參數。或三角洲。你不能把簡單的原始類型。因此,您的覆蓋方法隱藏了基本方法,但是Odata路線構建器無法找到它。因此400 –