Ainda não ficou claro pra mim quando usar o return "redirect:/home" ou quando fazer um return "home".
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Ainda não ficou claro pra mim quando usar o return "redirect:/home" ou quando fazer um return "home".
Sem usar o redirect o html será gerado com base na requisição daquele método, e portanto depende dos atributos que foram adicionados ao Model naquele mesmo método.
Quando você usa o redirect é feita uma nova requisição que irá passar pelo método na classe HomeController, e portanto adicionará a lista de pedidos e caso seja aplicável a variável status (aguardando, entregue, aprovado).
No exemplo do curso, se o return "home" fosse usado fora do método que adiciona a lista de pedidos no HomeController, sua página inicial apareceria vazia, sem pedidos.
Para entender melhor, você pode criar essa classe no seu projeto:
@Controller
public class TesteController {
@GetMapping("testeSemRedirect")
public String testeSemRedirect() {
return "home";
}
@GetMapping("testeComRedirect")
public String testeComRedirect() {
return "redirect:home";
}
}e testar as urls: