1
resposta

Implementação do Método

Classe UsuarioController

@RestController
@RequestMapping("/usuario")
public class UsuarioController {

    @Autowired
    private UsuarioService service;

    @PostMapping
    public ResponseEntity cadastrarUsuario(@RequestBody @Valid DadosAutenticacao dados) {
        service.cadastrar(dados);

        return ResponseEntity.ok().build();
    }
}

Classe UsuarioService

@Service
public class UsuarioService {

    @Autowired
    private UsuarioRepository repository;

    public void cadastrar(DadosAutenticacao usuario) {
        Usuario user = new Usuario();
        user.setLogin(usuario.login());
        user.setSenha(encriptografarSenha(usuario.senha()));

        repository.save(user);
    }

    private String encriptografarSenha(String senha) {
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

        return encoder.encode(senha);
    }
}

Atenção: Eu utilizo a classe Service, caso você não queira utilizar, bastra trocar o UsuarioService e adicionar o UsuarioRepository e salvar direto (Trazendo o que tem no método cadastrar(), do UsuarioService para dentro de cadastrarUsuario() do UsuarioController.

1 resposta

Oi Bruno!

Legal! Essa é a lógica mesmo para cadastrar um novo usuário.

O encoder você consegue injetar:

@Autowired
private PasswordEncoder encoder;

Bons estudos!