Я создал контроллер для конечной точки API REST POST, следующий:
public IActionResult POST([FromBody]Person person)
{
....
}
и где Person определен как
public class Person
{
public string Name {get; set;}
public int Age {get; set;}
}
, что означает, что почтовый запрос может десериализоваться вход, подобный этому
{
"Name": "Peter",
"Age": 2
}
без каких-либо проблем ...
Проблемы возникают, когда я передаю что-то вроде
{
"Name": "Peter",
"Age": 2,
"Error": 123123123
}
Это все еще создает Person
, который заполнить первые два ..
Я хотел бы вызвать здесь ошибку, указав, что формат ввода неправильный.
Я сохраняю первый вход, а затем использую его для сравнения следующего входа на основе первого. Если они одинаковые - ничего не должно случиться.
Но так как последний вход содержит недопустимое поле, но фактический экземпляр созданного ввода полностью аналогичен первому - я получаю сообщение об ошибке, что они не равны?
Я предполагаю, что error
оператор в JSON как-то хранится в новом экземпляре? но как мне убедиться, что вход проверяется до того, как контроллер создал экземпляр с учетом JSON ввода?