Я пытаюсь применить внутреннюю проверку всякий раз, когда пустые или недействительные значения отправляются в конечную точку ASP.NET Core Web API, но я не могу понять, как обрабатывать ошибки сбоя привязки модели.
Получение этой ошибки, вероятно, из ModelState
при отправке недопустимых значений: totalPrice: ["Could not convert string to decimal: . Path 'totalPrice', line 1, position 71."]
0: "Could not convert string to decimal: . Path 'totalPrice', line 1, position 71."
Похоже, что привязка модели не выполняется и ошибка отображается непосредственно клиенту.
У меня довольно простой контроллер с атрибутом ApiController
.
[ApiController]
public class ProductsController
{
[HttpPost]
public IActionResult Post([FromBody]CreateProductDto model)
{
model.Id = await service.CreateProduct(model);
return CreatedAtRoute(
routeName: "GetProduct",
routeValues: new { id = model.Id },
value: model
);
}
}
и моя модель DTO
public class CreateProductDto
{
[Required(ErrorMessage = "Invalid value")]
public decimal totalPrice { get; set;}
public int count { get; set; }
}
Есть ли способ настроить текст по ошибкам привязки модели?Я бы хотел, чтобы конфиденциальная информация не отправлялась и не оставляла дружественный отзыв клиенту?