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

Erro TopicoController.

Boa tarde, depois de configurar a classe TopicosController ela continua a aparecer apenas o "Hello World no browser.

package br.com.alura.forum.controller;


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

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


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

@Controller

public class TopicosController {

    @RequestMapping("/topicos")
    @ResponseBody
    public List<Topico> lista(){
        Topico topico = new Topico("Duvida", "Duvida com Spring",new Curso("Spring", "Programacao"));

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

    }

}
8 respostas

Oi Anderson,

Lembrou de reiniciar o servidor?

Mais pra frente no curso vai ser mostrado o Spring DevTools, que não vai mais exigir que precise reiniciar o servidor a cada modificação no código.

Então, esqueci de mencionar, mesmo reiniciando o servidor ou mesmo o Eclipse ele continua abrindo só o Hello World.

Tem outro controller no seu projeto? se tiver posta aqui o código dele.

sim, o Hello.

package br.com.alura.forum.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller

public class HelloController {

    @RequestMapping("/")
    @ResponseBody
    public String hello() {

        return "Hello World!";
    }


}

Pode ser conflito então do mapeamento das urls dos controllers.

Deixe seu TopicosController assim para ver se resolve:

@Controller
@RequestMapping("/topicos")
public class TopicosController {

    @GetMapping
    @ResponseBody
    public List<Topico> lista(){
        Topico topico = new Topico("Duvida", "Duvida com Spring",new Curso("Spring", "Programacao"));

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

Fiz a modificaçao que voce me enviou, mas não resolveu, segue como está agora meu topicos Controller.

package br.com.alura.forum.controller;


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

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


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

@Controller
@RequestMapping("/topicos")
public class TopicosController {

    @GetMapping
    @ResponseBody
    public List<Topico> lista(){
        Topico topico = new Topico("Duvida", "Duvida com Spring",new Curso("Spring", "Programacao"));

        return Arrays.asList(topico, topico, topico);
    }
}
solução!

Anderson,

O código está correto.

Você está entrando no browser em http://localhost:8080/topicos ?

Talvez você esteja entrando em http://localhost:8080 e isso vai chamar o HelloController ao invés do TopicosController.

Era, isso mesmo , fiquei preocupado com o código e nem me atentei a isso, muito obrigado.