Как мне убрать type, title и traceId из валидационного ответа (.NET Core web api)
Использую .NET Core 3.1. Простейший проект Web Api. Ничего не кастомизировал. Имею такую модель:
public class UpdateProfileRequest
{
[Required]
[StringLength(20)]
public string Name { get; set; }
}
Такой экшен в контроллере:
[HttpPost("[action]")]
public IActionResult UpdateProfile(UpdateProfileRequest request)
{
return Ok(new {UserName = "test"});
}
Запрашиваю, не передавая при этом поле Name. Ожидаемо получаю:
{
"errors": {
"name": [
"The Name field is required."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "|df89b6cf-4d6da62fe5671a5c."
}
Все отлично, но как мне убрать эти "type", "title" и "traceId"? Они мне не нужны. Пошерстил по интернету, не смог найти внятного гайда на этот счет. Мне бы хотелось оставить ответ в таком виде:
{
"errors": {
"name": [
"The Name field is required."
]
},
"status": 400,
}
Как мне это сделать?
Ответы (1 шт):
Автор решения: Aleksej_Shherbak
→ Ссылка
Итак, я нашел, как это побороть! Ответил на англоязычном СО, где задавал аналогичный вопрос. Вот ссылка