42 votes

FromBody ne lie pas le paramètre de chaîne

J'ai un problème similaire ASP.NET MVC 4 Web RC API de Liaison de Paramètre Question, mais je vais essayer de le résoudre à l'aide de la [FromBody] attribut.

Fiddler rapports de la requête suivante (à l'exclusion hors de propos bits comme la Chaîne de l'Agent Utilisateur)

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

Mon contrôleur de l'action est

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

J'ai pu envelopper le paramètre d'un type complexe, mais c'est un hack pour résoudre le problème. Ou je pourrais mettre la requête dans l'URI, mais qui ne correspondent pas au modèle du reste de l'API. Est-il possible de faire de cette façon? Si oui, où est mon erreur?

45voto

Filip W Points 13343

changer votre demande pour être

 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
 

remarquer l'absence de "requête"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X