1

次のシグネチャを使用して WebApi アクション メソッドを作成しようとしています。

[System.Web.Http.HttpPost]
public object Execute([FromUri] string command, [FromUri] string method, [FromBody] IDictionary<string, JToken> arguments)

ただし、リクエストでこのメソッドをヒットすると、引数が正しくバインドされません (2 つの URI フィールドがバインドされます)。ModelState は、最初の文字で Json.NET 解析エラーを示しています。次のようなリクエストボディを試しました:id=50およびarguments={ "id": 50 }. WebApi がパラメーターを正しくバインドできるようにするには、どのようにリクエストを作成する必要がありますか?

4

1 に答える 1

3

リクエスト本文に「id=」や「arguments=」は必要ありません。次のようなものを送信できるはずです。

{"key1": 4, "key2": 50, "key3": {"member1": "value"}}

そしてそれを機能させます。ディクショナリには、key1:値4のJValue、key2:値50のJValue、key3:値「value」のmember1メンバーのJObjectが含まれます。

于 2013-03-18T21:28:25.127 に答える