Как вернуть сложный объект в теле ответа POST request
Код звучит примерно так:
public async Task<AppUser> CreateUser(AppUser user, RegisterUserDto dto) { try { var result = await _userManager.CreateAsync(user, dto.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "Member"); await _context.SaveChangesAsync(); return user; } return null; } catch (Exception ex) { _logger.LogError("Error at AuthRepository at CreateUser, ex:" + ex.StackTrace, false); } return null; }
[HttpPost] [Route("createuser")] public async Task<IActionResult> CreateUserAcc([FromBody] RegisterUserDto userDto) { try { var identity = _mapper.Map<AppUser>(userDto); var result= await _repository.CreateUser(identity, userDto); if (result!=null) return Ok(result); else return BadRequest("Account alredy exists."); } catch (Exception) { } return BadRequest(); }
Резюме:
Я пытаюсь создать пользователя с помощью метода CreateUser, передав ему RegisterUserDto, а затем в теле ответа POST request вернуть созданный объект user.
Действие выполняется, и пользователь создается в БД, но Postman возвращает это: Изображение
Что я уже пробовал:
Я убедился, что проверка SSL-сертификата почтальона отключена.
Bryian Tan
Что в классе RegisterUserDto?
1suli0
общественные RegisterUserDto класс
{
публичная строка Email { get; set; }
публичный строковый пароль { get; set; }
общественного строка имя { получить; набор; }
общественного строка имя { получить; набор; }
}
Это выглядит так.
Bryian Tan
попробовать вернуть ОК(создание экземпляра.Синтаксический анализ(результат));
F-ES Sitecore
Зачем нам знать, почему почтальон не может подключиться к службе, работающей на вашем компьютере? Мы не можем получить доступ к нему, чтобы диагностировать, что работает, а что нет. Я начну с самого начала though....is ваш веб-сервис действительно работает и прослушивает этот порт? Похоже, что вы используете встроенный веб-сервер Visual Studio, и он запускается только тогда, когда ваш проект запущен настолько, что вы сначала запустили его в режиме отладки. Если это проблема, то измените ее на использование IIS на вашем локальном компьютере, так как отладка API и т. д. проще, так как IIS всегда работает.
1suli0
Ну, я задал этот вопрос в надежде, что кто-то столкнулся с подобной проблемой, или чтобы получить совет. Тем не менее спасибо.
F-ES Sitecore
Я дал вам совет, это может быть 1 000 000 вещей, и я сказал вам, что это, скорее всего, будет. Если это не так, то вам нужно обновить вопрос, чтобы мы все знали и могли предложить другие вещи, на которые вы, возможно, захотите взглянуть. Лично, если что-то не может подключиться к чему-то на моей машине, самое первое, что вам нужно сделать, это установить, что что-то действительно прослушивает этот порт.