Professor, no exemplo utilizado nós cadastramos na mão o usuário de teste para o login e senha, como seria uma implementação para o usuário de cadastrar criando um login e senha?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Professor, no exemplo utilizado nós cadastramos na mão o usuário de teste para o login e senha, como seria uma implementação para o usuário de cadastrar criando um login e senha?
Oi!
Você poderia criar um controller para cadastro de usuários:
@RestController
@RequestMapping("usuarios")
public class UsuarioController {
@Autowired
private PasswordEncoder encoder;
@Autoiwired
private UsuarioRepository repository;
@PostMapping
@Transactional
public String cadastrarUsuario(@RequestBody @Valid DadosCadastroUsuario dto) {
var senhaBcrypt = encoder.encode(dto.senha());
var usuario = new Usuario(dto.login(), senhaBcrypt);
repository.save(usuario);
return ResponseEntity.ok().build();
}
}
A senha vem em texto aberto na requisição, então basta injetar o PasswordEncoder para converter para o formato BCrypt antes de salvar.