WCF REST JSON-запрос: исключение форматера - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть перечисление в качестве одного из параметров в моем API отдыха.

Контракт конечной точки:

List<Transaction> GetTransactions(int employeeID, int recordOffset, int recordLimit, TransactionType transactionType = TransactionType.All);

InputJSON Запрос:

{
            "employeeID":"123",
            "recordOffset": 0,
            "recordLimit": 80,
            "transactionType":"All"
}

Я получаю 400 неверных запросов, когда я передаю этот входной JSON с ключом транзакции.

Пожалуйста, дайте мне знать, как я должен передавать значение ENUM вЗапрос json.

public enum TransactionType
{
    All = 0,
    Incoming = 1,
    Outgoing = 2
}

Сообщение об исключении:

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://Services/2015/03:transactionType. The InnerException message was 'There was an error deserializing the object of type Entities.TransactionType. The value 'All' cannot be parsed as the type 'Int64'.'.  Please see InnerException for more details

1 Ответ

0 голосов
/ 06 декабря 2018

Ожидаемый параметр - int.Вы должны передать значение int 0, 1 или 2 в запросе JSON здесь.

В зависимости от того, как вы строите свой запрос JSON, вы можете добавить значение Enum, которое вы хотите, например, transactionType = TransactionType.All

Таким образом, вы действительно можете использовать свой Enum при созданиизапросить использование допустимых значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...