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?
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.