Может ли кто-нибудь рассказать о передаче ввода для WebApi для числовых типов данных, т.е. int, long и т.д.
public class Emp
{
public int Id { get; set; }
public long Volume { get; set; }
}
Входной набор 1:
{
"Id" : "1",
"Volume" : "200"
}
это работает без ошибки проверки модели.
Входной набор 2:
{
"Id" : "1.2",
"Volume" : "200.5"
}
Ошибка проверки модели, поскольку невозможно преобразовать значения. Ошибка: {"Error converting value \"200.5\" to type 'System.Int64'. Path 'Volume', line 2, position 14."}
Входной набор 3:
{
"Id" : 1.2,
"Volume" : 200.5
}
Это не приводит к сбою проверки модели, но значения, сопоставленные с объектом С#, равны Id = 1, Volume = 200.
Но и здесь мне нужна ошибка проверки модели, поскольку я передаю десятичный ввод. Должны быть разрешены только целые числа.
Итак, каков правильный шаблон для отправки ввода API?
Каков правильный способ получить ошибку проверки модели при передаче значений десятичной точки в тип данных int и long.
Using int & long will make those values rounded to nearest integer value
Как переопределить это, чтобы дать ошибки проверки модели?
double
илиdecimal
для обоих свойствId
иVolume
. Использованиеint
иlong
сделает эти значения округленными до ближайшего целого числа. - person Tetsuya Yamamoto   schedule 04.09.2018