Frage

Ich bin mit RestSharp in ASP .NET MVC 2-Projekt. Der Versuch, RestRequest (mit POST-Methode) und fügen Sie zwei ENUM-Werte (meine Enum-Typ - OrderStatusFlags) zu schaffen, um Anfrage Körper - mit build-in RestSharp XmlSerializer:

var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);

Aber nach ADDBODY Methode in Anforderungsparameter aufrufen kann nur leer sehen, aber keinen Wert. Und während MVC Aktion Aufruf der Methode ein Fehler auftritt:

Die Parameter Wörterbuch enthält einen Null-Eintrag für den Parameter 'previousStatus' von NULL-Typ 'OrderStatusFlags' für die Methode 'RestResponse PostOrderStatus (Int32, System.String, OrderStatusFlags, OrderStatusFlags)' in 'OrdersResourceEndpoint'. Ein optionaler Parameter muss ein Referenztyp, ein NULL festlegbaren Typ sein, oder als optionalen Parameter deklariert werden. Parametername: Parameter

Enum sieht wie folgt aus:

public enum OrderStatusFlags : long
{
    Pending,
    Confirmed,
    ...
}

Hat jemand tritt eine ähnliche Situation?

War es hilfreich?

Lösung

ein paar Probleme hier. Erstens können Sie nur aufrufen AddBody() einmal oder der letzte Anruf Vorrang. AddBody() ist auch nur für XML als Anforderungs Körper sendet. Was ist das erforderliche XML-Schema, dass Sie auf diese URL schicken müssen? Können Sie einige Beispiel-XML schreiben, dass Sie zu generieren sind versuchen?

ich denke, desto wahrscheinlicher werden Sie wollen tatsächlich AddParameter() verwenden, um einige POST-Parameter hinzuzufügen, da die weit häufiger als XML-Anfrage Körper ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top