У меня перечисление в качестве одного из параметров в моем Rest 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 с ключом transactionType.
Пожалуйста, дайте мне знать, как я должен передавать значение 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

Ожидаемый параметр - int.
Здесь вы должны передать значение int 0, 1 или 2 в запросе JSON.
В зависимости от того, как вы создаете свой JSON-запрос, вы можете добавить желаемое значение Enum, например transactionType = TransactionType.All.
Таким образом, вы действительно можете использовать Enum при создании запроса, чтобы убедиться, что вы используете жизнеспособные значения.
Не за что. Также проверьте,
employeeID- этоstring, гдеGetTransactions()ожидаетintдляemployeeID.