Добрый день.
Создание нового пользователя:
public async Task<IHttpActionResult> CreateUser(IdentityUser user)
{
var addUser = await AppUserManager.CreateAsync(user);
if (!addUser.Succeeded)
{
return GetErrorResult(addUser);
}
// Что-то делаем дальше.
}
Метод GetErrorResult()
protected IHttpActionResult GetErrorResult(IdentityResult result)
{
if (result == null)
{
return InternalServerError();
}
if (result.Succeeded)
{
return null;
}
if (result.Errors != null)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("Errors", error);
}
}
if (ModelState.IsValid)
{
return BadRequest();
}
return BadRequest(ModelState);
}
Если, например, email уже зарегистрирован придет сообщение вида:
Может кто подсказать, каким образом заменить modelState на, например error
В методе GetErrorResult() замените
return BadRequest(ModelState);
на следующий код:
var modelState = ModelState.Select(p => new { key = p.Key, errors = p.Value.Errors.Select(e => e.ErrorMessage) })
.ToDictionary(kv => kv.key, kv => kv.errors);
string json = JsonConvert.SerializeObject(new { Message = "", Error = modelState });
return ResponseMessage(new HttpResponseMessage(HttpStatusCode.BadRequest)
{
Content = new StringContent(json, Encoding.UTF8, "application/json")
});
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости