Impossibile aggiungere corpo a RestSharp RestRequest utilizzando enumerazioni
-
28-09-2019 - |
Domanda
RestSharp in ASP .NET MVC progetto 2. Cercando di creare RestRequest (metodo POST utilizzando) e aggiungere due valori enum (il mio tipo enum - OrderStatusFlags) alla richiesta del corpo - con build-in RestSharp XmlSerializer:
var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);
Ma dopo una chiamata al metodo ADDBODY in parametri di richiesta può vedere solo vuoto ma nessun valore. E mentre chiamando il metodo di azione MVC si verifica un errore:
Il dizionario parametri contiene una voce null per il parametro 'previousStatus' di tipo non-nullable 'OrderStatusFlags' per il metodo 'RestResponse PostOrderStatus (Int32, System.String, OrderStatusFlags, OrderStatusFlags)' in 'OrdersResourceEndpoint'. Un parametro opzionale deve essere un tipo di riferimento, un tipo nullable, o essere dichiarato come un parametro opzionale. Nome di parametro: parametri
Enum simile a questa:
public enum OrderStatusFlags : long
{
Pending,
Confirmed,
...
}
Qualcuno si verifica una situazione simile?
Soluzione
A qui. In primo luogo, è possibile chiamare solo AddBody()
volta o l'ultima chiamata hanno precedenza. AddBody()
è anche solo per l'invio di XML come il corpo della richiesta. Qual è lo schema XML richiesto che è necessario inviare a questo URL? Puoi pubblicare un po 'di XML di esempio che si sta cercando di generare?
Credo che più è probabile che in realtà desidera utilizzare AddParameter()
per aggiungere alcuni parametri POST dal momento che è molto più comune di quanto corpi richiesta XML.