我正在尝试使用以下签名创建WebApi操作方法:
[System.Web.Http.HttpPost]
public object Execute([FromUri] string command, [FromUri] string method, [FromBody] IDictionary<string, JToken> arguments)
但是,当我用请求命中这个方法时,参数永远不会正确绑定(两个URI字段都是这样)。 ModelState在第一个字符处显示Json.NET解析错误。我尝试过的请求正文如下:id=50
和arguments={ "id": 50 }
。如何制定我的请求以允许WebApi正确绑定我的参数?
答案 0 :(得分:2)
请求正文中不需要“id =”或“arguments =”。你应该能够发送看起来像这样的东西:
{"key1": 4, "key2": 50, "key3": {"member1": "value"}}
并让它工作。然后,Dictionary将包含key1:值为4的JValue,key2:值为50的JValue,key3:具有值为“value”的member1成员的JObject。