No se puede agregar el cuerpo a RestSharp RestRequest utilizando las enumeraciones

StackOverflow https://stackoverflow.com/questions/3865182

  •  28-09-2019
  •  | 
  •  

Pregunta

Estoy utilizando RestSharp en ASP .NET MVC 2. Tratar de crear RestRequest (utilizando el método POST) y añadir dos valores de enumeración (mi tipo de enumeración - OrderStatusFlags) a petición del cuerpo - con ayuda de acumulación en RestSharp XmlSerializer:

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

Pero después de llamar al método ADDBODY en parámetros de la petición puede ver solamente vacío pero ningún valor. Y mientras llama método de acción MVC se produce un error:

El diccionario parámetros contiene una entrada nula para el parámetro 'previousStatus' del tipo 'OrderStatusFlags' no anulable para el método de 'RestResponse PostOrderStatus (Int32, System.String, OrderStatusFlags, OrderStatusFlags)' en 'OrdersResourceEndpoint'. Un parámetro opcional debe ser un tipo de referencia, un tipo anulable, o ser declarado como un parámetro opcional. Nombre de parámetro: parámetros

Enum tener este aspecto:

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

¿Alguien se produce una situación similar?

¿Fue útil?

Solución

problemas de par

A aquí. En primer lugar, sólo se puede llamar AddBody() una vez o la última llamada tendrá prioridad. AddBody() es también sólo para el envío de XML como el cuerpo de la petición. ¿Cuál es el esquema XML necesario que necesita para enviar a esa URL? Se puede publicar algunos XML de ejemplo que usted está tratando de generar?

Creo que es más probable que realmente desea utilizar AddParameter() añadir algunos parámetros POST, ya que es mucho más común de lo cuerpos de solicitud XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top