Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Colunas dos produtos sendo passadas na URL mesmo sem eu especificar

Ao acessar a URL / ou /aguardando (ou outro status), o sistema está pegando valores das colunas dos produtos como se fosse o parâmetro status, consequentemente dando erro de conversão dentro do meu Enum. Por que isso acontece e como prevenir?

HomeController.java:

@Controller
@RequestMapping("/")
public class HomeController {

    @Autowired
    private PedidoRepository pedidoRepository;

    @GetMapping
    public String homeURL(Model model) {
        List<Pedido> pedidoList = pedidoRepository.findAll();

        model.addAttribute("pedidos", pedidoList);

        return "home";
    }

    @GetMapping("/{status}")
    public String byStatus(@PathVariable("status") String status, Model model) {
        StatusPedidoEnum statusPedido = StatusPedidoEnum.valueOf(status.toUpperCase());
        List<Pedido> pedidoList = pedidoRepository.findByStatus(statusPedido);

        model.addAttribute("pedidos", pedidoList);

        return "home";
    }
}

O erro:

18:57:30,013 ERROR [org.springframework.boot.web.servlet.support.ErrorPageFilter]
 (default task-8) Forwarding to error page from request [/asdasdas]
 due to exception [No enum constant scheper.mateus.mudi.enums.StatusPedidoEnum.ASDASDAS]:
 java.lang.IllegalArgumentException: No enum constant scheper.mateus.mudi.enums.StatusPedidoEnum.ASDASDAS

Esse "asdasdas" é o valor de uma das colunas de um dos produtos.

O erro acontece várias vezes e com colunas diferentes.

Vi no console que ele acessa com status 200 a URL /, porém tenta mais três vezes (uma vez para cada produto encontrado no banco), dando erro 500.

1 resposta
solução!

Descobri!

Era por conta da tag que estava tentando buscar um link /asdasdasd, pois não preenchi uma URL real no banco.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software