Я украсил POCO аннотациями данных ядра .net.
public class Foo
{
[Required]
[StringLength(100, MinimumLength = 1)]
public String Name { get;set;}
}
Когда я вызываю контроллер API с недопустимыми данными, эти правила проверки данных начинают работать, возвращая HTTP 400. Полезная нагрузка выглядит как-тов соответствии с:
{
"name": [
"The Name field is required."
]
}
Мои два вопроса:
Я видел довольно много документов, ссылающихся на ModeState.IsValid, в моем случае контроллерыдаже не вводится и не добавляются никакие фильтры пользовательских действий.
Возможно ли, однако, контролировать / конфигурировать ответ полезной нагрузки?
Я хотел бы вернуть больше структурированного ответа
{
"reason":"Invalid request",
"errorCode":"BadFooDetails",
"data" : {
"name": [
"The Name field is required." ]
}
}
Основная причина для этого - иметь согласованную структурированную полезную нагрузку ответа ApiError.