1
resposta

Alteração método cadastrar

Visto quando cadastro um tópico,não passo aluno e quando vai detalhar dar erro de null, fiz a seguinte alteração para pegar o usuário logado no método cadastrar, isso seria uma boa prática e se não, qual seria o jeito correto.

@PostMapping
    @Transactional
    @CacheEvict(value = "listaDeTopicos", allEntries = true)
    public ResponseEntity<TopicoDto> cadastrar(@RequestBody @Valid TopicoForm form, UriComponentsBuilder uriBuilder,
            @AuthenticationPrincipal Usuario logado) {

        Topico topico = form.conveter(cursoRepository,logado);
        topicoRepository.save(topico);

        URI uri = uriBuilder.path("/topicos/{id}").buildAndExpand(topico.getId()).toUri();
        return ResponseEntity.created(uri).body(new TopicoDto(topico));

    }

e no método converter

public Topico conveter(CursoRepository cursoRepository, @AuthenticationPrincipal Usuario logado) {


        Curso curso = cursoRepository.findByNome(nomeCurso);
        return new Topico(titulo, mensagem, curso,logado);
    }
1 resposta

Oi Anderson,

É exatamente desse jeito mesmo que você fez :)

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software