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.