J'essaie de publier plusieurs paramètres sur un contrôleur WebAPI. Un paramètre provient de l'URL et l'autre du corps. Voici l'url:
/offers/40D5E19D-0CD5-4FBD-92F8-43FDBB475333/prices/
Voici mon code de contrôleur:
public HttpResponseMessage Put(Guid offerId, OfferPriceParameters offerPriceParameters)
{
//What!?
var ser = new DataContractJsonSerializer(typeof(OfferPriceParameters));
HttpContext.Current.Request.InputStream.Position = 0;
var what = ser.ReadObject(HttpContext.Current.Request.InputStream);
return new HttpResponseMessage(HttpStatusCode.Created);
}
Le contenu du corps est en JSON:
{
"Associations":
{
"list": [
{
"FromEntityId":"276774bb-9bd9-4bbd-a7e7-6ed3d69f196f",
"ToEntityId":"ed0d2616-f707-446b-9e40-b77b94fb7d2b",
"Types":
{
"list":[
{
"BillingCommitment":5,
"BillingCycle":5,
"Prices":
{
"list":[
{
"CurrencyId":"274d24c9-7d0b-40ea-a936-e800d74ead53",
"RecurringFee":4,
"SetupFee":5
}]
}
}]
}
}]
}
}
Une idée pourquoi la liaison par défaut ne peut pas se lier à l' offerPriceParametersargument de mon contrôleur? Il est toujours défini sur null. Mais je suis capable de récupérer les données du corps en utilisant le DataContractJsonSerializer.
J'essaye également d'utiliser l' FromBodyattribut de l'argument mais cela ne fonctionne pas non plus.
