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

Whitelabel Error Page

Bom Dia, estou tentando acessar a url: localhost:8080/topicos e fica retornando assim:

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Thu May 14 10:36:48 BRT 2020 There was an unexpected error (type=Not Found, status=404). No message available

já tentei acessar outros tópicos presentes aqui no fórum, mas não resolveu.

6 respostas

Oi Brunno,

Dá uma conferida no pacote da classe TopicosController, para ver se ele é um pacote "filho" do pacote onde está a classe Main da aplicação.

Pode ser por isso que o Spring não esteja carregando seu controller e gerando erro 404.

Olá Rodrigo,

minha classe TopicosController:

package br.com.projetoalura.forumprojetoalura.controller;

import br.com.projetoalura.forumprojetoalura.controller.dto.TopicoDto;
import br.com.projetoalura.forumprojetoalura.modelo.Curso;
import br.com.projetoalura.forumprojetoalura.modelo.Topico;

import java.util.Arrays;
import java.util.List;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;



@RequestMapping("/topicos") //endereco mapeado
@RestController
public class TopicosController {
    public List<TopicoDto> lista() {

        Topico topico = new Topico("Dúvida","Dúvida com Spring",new Curso("Spring","Programação"));

        return TopicoDto.converter(Arrays.asList(topico,topico,topico));

    } 

}

Oi Brunno,

Sua classe controller está certinha.

Poste aqui também agora a sua classe main ForumApplication.

Olá Rodrigo, segue o ForumApplication:

package br.com.projetoalura.forumprojetoalura;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ForumprojetoaluraApplication {

    public static void main(String[] args) {
        SpringApplication.run(ForumprojetoaluraApplication.class, args);
    }

}
solução!

Está tudo certo também.

Coloque a anotação @GetMapping no seu método lista no controller:

@RequestMapping("/topicos") //endereco mapeado
@RestController
public class TopicosController {

    @GetMapping
    public List<TopicoDto> lista() {
        Topico topico = new Topico("Dúvida","Dúvida com Spring",new Curso("Spring","Programação"));

        return TopicoDto.converter(Arrays.asList(topico,topico,topico));
    }
}

Olá Rodrigo,

funciona perfeitamente aqui.

Obrigado.