Ao tentar acessar os topicos cadastrados no banco h2 via browser, estou tomando uma NullPointerException:
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Jan 20 14:56:21 GFT 2020 There was an unexpected error (type=Internal Server Error, status=500). No message available java.lang.NullPointerException at br.com.diego.forum.controller.TopicosController.getTopicos(TopicosController.java:21)
Segue o codigo da classe TopicosController
package br.com.diego.forum.controller;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
import br.com.diego.forum.controller.dto.TopicoDto; import br.com.diego.forum.model.Topico; import br.com.diego.forum.repository.TopicoRepository;
@RestController public class TopicosController {
private TopicoRepository topicoRepository;
@RequestMapping("/topicos")
public List<TopicoDto> getTopicos(String nomeCurso){
if(nomeCurso == null) {
List<Topico> topicos = topicoRepository.findAll(); //linha 21
return TopicoDto.converter(topicos);
} else {
List<Topico> topicos = topicoRepository.findByCursoNome(nomeCurso);
return TopicoDto.converter(topicos);
}
}
}
Segue o data.sql
INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '123456');
INSERT INTO CURSO(nome, categoria) VALUES('Spring Boot', 'Programação'); INSERT INTO CURSO(nome, categoria) VALUES('HTML 5', 'Front-end');
INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida', 'Erro ao criar projeto', '2019-05-05 18:00:00', 'NAO_RESPONDIDO', 1, 1); INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 2', 'Projeto não compila', '2019-05-05 19:00:00', 'NAO_RESPONDIDO', 1, 1); INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 3', 'Tag HTML', '2019-05-05 20:00:00', 'NAO_RESPONDIDO', 1, 2);
OBS: as queries no console estão devolvendo os valores corretamente.