Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Exepition

Olá

Estou com o seguinte erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Meu código aparentemente está ok, o que pode ser:

package br.com.alura.forum.controller;

import java.net.URI;
import java.util.Arrays;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriComponentsBuilder;

import br.com.alura.forum.controller.dto.TopicoDto;
import br.com.alura.forum.controller.form.TopicoForm;
import br.com.alura.forum.modelo.Curso;
import br.com.alura.forum.modelo.Topico;
import br.com.alura.forum.repository.CursoRepository;
import br.com.alura.forum.repository.TopicoRepository;

@RestController
@RequestMapping("/topicos")
public class TopicoController {

    @Autowired
    private TopicoRepository topicoRepository;

    @Autowired
    private CursoRepository cursoRepository;

    @GetMapping
    public List<TopicoDto> lista(String nomeCurso) {
        if    (nomeCurso == null) {        
        List<Topico> topicos = topicoRepository.findAll();        
        return TopicoDto.converter(topicos);
        } else {
            List<Topico> topicos = topicoRepository.findByCursoNome(nomeCurso);        
            return TopicoDto.converter(topicos);
        }        
    }

    @PostMapping
    public ResponseEntity<TopicoDto> cadastrar(@RequestBody TopicoForm form, UriComponentsBuilder uriBuilder) {
        Topico topico = form.converter(cursoRepository);
        topicoRepository.save(topico);

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

    }

}
4 respostas

Oi André,

Pela exception está dando erro ao criar o CursoRepository. Posta aqui essa sua interface e também o código da entidade Curso.

Opa Rodrigo

Segue

package br.com.alura.forum.repository;

import org.springframework.data.jpa.repository.JpaRepository;

import br.com.alura.forum.modelo.Curso;
import br.com.alura.forum.modelo.Topico;

public interface CursoRepository extends JpaRepository<Curso, Long>  {

    Curso finByNome(String nomeCurso);

}
solução!

O nome do seu método está incorreto:

finByNome

Faltou a letra d: findByNome

Muito obrigado!