私は非常に簡単な標準のアクションを処理するODataコントローラを持っています(少なくともGET、POST、PUT、DELETEメソッドはワーキング)。私はthis tutorialに続き、簡単なバウンドアクションを追加しました。この方法は、パラメータの引数を持っているが、実際には、パラメータを必要としません。WebAPIパラメータなしのOData v4カスタムアクションは、エラーなしでルーティングすることはできません "ルーティング規則が見つかりませんでした..."
[HttpPost]
public IHttpActionResult Close([FromODataUri] int key, ODataActionParameters parameters) {
return Ok();
}
私は次のようODataのEDM構成でこのアクションを定義しています
builder.EntitySet<Ticket>("tickets");
builder.EntityType<Ticket>().Action("Close");
私はポストマンからのアクションを呼び出ししようとしています:
:POST /odata/tickets(2)/Default.Close HTTP/1.1
Host: localhost:50477
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: eef4c1f6-8c7f-f5eb-c22d-4397f3bda170
しかし
はエラーメッセージを受け取ります3210私はインターネット全体と関連記事をすべて読んでいますが、この問題を解決することはできません。私はこれを戦う方法を新鮮なアイデアがないので、私を助けてください。
WebAPI/ODataのバージョンは何ですか?メタデータを共有することはできますが、引き続き問題を再現することはできません。 –
OData v4、WebApi 2.2。メタデータを見てください:http://pastebin.com/MuPzFPxe –
コントローラに送信するJSONは何ですか? –