Я добавил свободную проверку в проект WebApi, который работает нормально, я получаю следующий JSON-ответ в качестве примера регистрации пользователя:
{
"errors": {
"Email": [
"'Email' is not a valid email address."
],
"Password": [
"'Password' must contain at least one uppercase, lowercase, number and symbol"
]
},
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "8000003d-0000-fc00-b63f-84710c7967bb"
}
Я добавляю проверку, если электронная почта пользователя уже существует,Формат ответа об ошибке очень отличается, мне нужен тот же формат, чтобы перехватить ошибку на стороне клиента.
Класс модели ошибки:
public class ErrorResponse
{
public List<ErrorModel> Errors { get; set; } = new List<ErrorModel>();
}
public class ErrorModel
{
public string FieldName { get; set; }
public string Message { get; set; }
}
Регистр контроллера:
var authResponse = await _identityService.RegisterAsync(request);
if (!authResponse.Success)
{
var errorResponse = new ErrorResponse();
var errorModel = new ErrorModel
{
FieldName = "User",
Message = "A user exists"
};
errorResponse.Errors.Add(errorModel);
return BadRequest(errorResponse);
}
JSON-ответ:
{
"errors": [
{
"fieldName": "User",
"message": "A user exists"
}
]
}