WebAPI Mehrere Put / Post-Parameter

Ich versuche, mehrere Parameter auf einem WebAPI-Controller zu veröffentlichen. Ein Parameter stammt aus der URL und der andere aus dem Body. Hier ist die URL:/offers/40D5E19D-0CD5-4FBD-92F8-43FDBB475333/prices/

Hier ist mein Controller-Code:

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);
}

Der Inhalt des Körpers ist in 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
                        }]
                    }
                }]
            }
        }]
    }
}

Irgendeine Idee, warum die Standardbindung nicht an die binden kannofferPriceParameters argument von meinem controller? Es ist immer auf null gesetzt. Aber ich bin in der Lage, die Daten aus dem Körper mit dem wiederherzustellenDataContractJsonSerializer.

Ich versuche auch das zu benutzenFromBody Attribut des Arguments, aber es funktioniert auch nicht.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage