@embiid

Как присвоить модели id?

Объясните, пожалуйста. Вот я пишу сервис для регистрации пользователя, все хорошо.
НО! После того когда я в Postman отправляю запрос, мне выводит что типо обработался запрос. Но, самое что есть главное, нового юзера не запушило...
В чем ошибка? Что я упускаю?

public async Task<UserDto> Register(UserDto userModel, string password)
        {
            if (!await EmailExists(userModel.Email)) return null;
 
            byte[] passwordHash, passwordSalt;
            HashPassword(password, out passwordHash, out passwordSalt);
 
            var user = _mapper.Map<User>(userModel);
 
            user .PasswordHash = passwordHash;
            user .PasswordSalt = passwordSalt;
 
            var createdUser= await _unitOfWork.UserRepository.AddAsync(user );
 
            return _mapper.Map<userModel>(createdUser);
        }

Ну и конечно сам контроллеp:

public async Task<IActionResult> Register([FromBody] UserRegistrationModel userRegistrationModel)
        {
            var user = _mapper.Map<UserDto>(userRegistrationModel);
 
            await _authService.Register(user , userRegistrationModel.Password);
 
            //return CreatedAtAction(nameof(Login), user );
            return CreatedAtAction(nameof(Login), new { id = user .Id }, userRegistrationModel);
        }
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
yarosroman
@yarosroman Куратор тега C#
C# the best
public async Task<IActionResult> Register([FromBody] UserRegistrationModel userRegistrationModel)
        {
            var user = _mapper.Map<UserDto>(userRegistrationModel);
 
            var newUser = await _authService.Register(user , userRegistrationModel.Password);
 
            //return CreatedAtAction(nameof(Login), user );
            return CreatedAtAction(nameof(Login), new { id = newUser .Id }, userRegistrationModel);
        }

Может так надо ?
Ответ написан
Комментировать
@lolik20
Поставить полю ID в sql параметр IDENTITY. И не присваивать id вручную
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы