私は少し問題があります...それは、すべてのGET/POST/PUT/DELETEの実装を持つ基本クラスを持っていて、それはGenericクラスなので基本的に何でもIエンティティIの更新が通過した後、私はそのクラスを実装し、私のエンティティのクラスを持っている...問題を実装する問題
public virtual async Task<IHttpActionResult> Put([FromODataUri] TKey key)
事はそうエンティティの1のために、私は、データベースを更新する前に追加のロジックを実装したいということです私はちょうど子クラスでそれをやったと思って、その新しいロジックの後に私は基本クラスのメソッドを呼び出し、それはトリックを行う必要がありますので、オーバーロードされたメソッドを作成しました
public override Task<IHttpActionResult> Put(int key){
//NEW LOGIC
return base.Put(key);
}
クライアントからのリクエストを行うときに、この新しいメソッドを実装していないと、正常に動作し、ベースクラスメソッドが呼び出され、エンティティが更新されますが、追加した後にこれは、全く同じAjaxリクエストを使用して400のレスポンスを返します...何が起こっているのかを誰かが助けてくれますか?どうもありがとう:)
を支援する場合、私は、でも、知りません。 'PUT'はmodelをパラメータとして持つ必要があります。またはデルタ。シンプルなプリミティブ型を置くことはできません。だから、あなたのオーバーライドメソッドは基本的なものを隠しますが、オダータのルートビルダはそれを見つけることができません。したがって400 –