問題タブ [frombodyattribute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
10872 参照

c# - C# Web API POST パラメーター FromBody は常に null です

私は何時間も Web を精査してきましたが、ここでも StackOverflow で説明されているさまざまなソリューションを試しました。以前にも同様の質問があったことは知っていますが、回答やコメントはどれもうまくいきませんでした。

問題: いくつかのパラメーターを持つ Post メソッドを持つ .NET Web API があります。パラメーターの 1 つは、本体 (つまり JSON) から読み取られることになっている複雑なオブジェクトです。ただし、このオブジェクトは常に nullです。

これは私のコードです:

明確にするために: eventData は常に null のオブジェクトです。ブール値は正しく読み取られます。

完全なリクエスト本文は次のとおりです。

参考までに、これは Event-class です。

私がすでに試したことのいくつか:

  • JSON を別の形式に変更します (値のみ、「イベント」: {} で実際のオブジェクトを囲み、JSON の前に = を付けます)。
  • Event パラメーターのみを使用してテストします (他のパラメーターとルートを削除します)。
  • Event にデフォルトの ctor を追加します。
  • [FromBody] タグを削除します。これを行うと、Event オブジェクトは null ではありませんが、すべてのプロパティは null になります。プロパティは URI を介して入力できますが、これは望ましい動作ではありません。

私が読んだすべてのソリューションとドキュメントによると、上記のように機能するはずです。私は何が欠けていますか?

0 投票する
1 に答える
5514 参照

asp.net-web-api - MVC APIコントローラーメソッドHttpPostが機能しない

私はVisual Studio 2013を使用しています...

Api コントローラー メソッドに問題があります。

HTTPGETHTTPPUT[FromUri]およびの違いを理解しています[FromBody].

私は単純なメソッドを持っており、すべての組み合わせをテストしています。

私が走るとき

http://localhost:62536/api/Controller/Method/10

I Got HTTP 404 error はこの例です

HTTP 405 エラーが発生した場合の例は次のとおりです

NO エラーですが、パラメーターaは 0 です..

つまり.. [HttpPut] を使用したり、定義されていないか [FromUri] として定義されていないパラメーターを使用したりしても機能しません。

[HttpGet] と [FromBody] でのみ機能しますが、パラメーターは null です。

私の WebApiConfig は次のようになります

なぜ機能しないのですか?