Невозможно добавить тело для Restsharp Restrequest, используя enums

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

  •  28-09-2019
  •  | 
  •  

Вопрос

я использую Restsharp. в проекте ASP .NET MVC 2. Попытка создать Restrequest (используя метод post) и добавьте два значения enum (мой тип enum - orderstatusflags), чтобы запросить тело - с использованием booksharp xmlserializer:

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

Но после звонка по адресу добавочный метод в запросе параметры могут видеть только пустые, но без значения. И при вызове метода действий MVC возникает ошибка:

Словарь параметров содержит нулевую запись для параметра «PrevienceStatus» ненутреннего типа «OrderStatusflags» для метода «response Postorderstatus) (int32, system.string, orderstutusflags, orderstutusflags) 'в« OrsocresourceendPoint ». Необязательный параметр должен представлять собой ссылочный тип, нулятивный тип или быть объявлен в качестве дополнительного параметра. Название параметра: Параметры

Enum выглядит так:

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

Кто-нибудь возникает в другую ситуацию?

Это было полезно?

Решение

Пара проблем здесь. Во-первых, вы можете позвонить только AddBody() один или последний звонок будет иметь приоритет. AddBody() также только для отправки XML в качестве тела запроса. Какова необходимая XML-схема, которую вам нужно отправить на этот URL? Можете ли вы опубликовать определенный образец XML, который вы пытаетесь сгенерировать?

Я думаю, что более вероятно, вы на самом деле хотите использовать AddParameter() Чтобы добавить несколько параметров поста, поскольку это гораздо чаще, чем теклам запроса XML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top