41

ASP.NET MVC 4 RC Web API Parameter Binding Issueのような問題がありますが、[FromBody] 属性を使用して解決しようとしています。

Fiddler は次の要求を報告します (ユーザー エージェント文字列などの無関係なビットを除く)

PUT http://localhost:82/api/account/shoppinglistitems HTTP/1.1
Host: localhost:82
Connection: keep-alive
Content-Length: 11
Origin: http://localhost:3000
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01

query=apple

私のコントローラーアクションは

[HttpPut]
public ShoppingListItemWebModel CreateShoppingListItem([FromBody]string query) {
    // query is null
}

パラメータを複雑な型でラップすることもできますが、それは問題を解決するためのハックのようです。または、クエリを URI に入れることもできますが、それは残りの API のパターンに適合しません。このようにすることは可能ですか?もしそうなら、私の間違いはどこですか?

4

2 に答える 2

45

リクエストを次のように変更します

PUT http://localhost:82/api/account/shoppinglistitems HTTP/1.1
Host: localhost:82
Connection: keep-alive
Content-Length: 11
Origin: http://localhost:3000
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01

=apple

「クエリ」の欠如に注意してください

于 2012-07-17T07:01:09.917 に答える