Ao clicar em comprar, após ter selecionado o tipo de preço do livro, apresenta o erro 400, apontando para Url http://localhost:9090/casadocodigo/carrinho/add. Conferi o método add, como itens, e não encontrei a causa.
package br.com.casadocodigo.loja.controllers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.servlet.ModelAndView;
import br.com.casadocodigo.loja.Daos.ProdutoDao;
import br.com.casadocodigo.loja.models.CarrinhoCompras;
import br.com.casadocodigo.loja.models.CarrinhoItem;
import br.com.casadocodigo.loja.models.Produto;
import br.com.casadocodigo.loja.models.TipoPreco;
@RequestMapping("/carrinho")
@Controller
@Scope(value = WebApplicationContext.SCOPE_REQUEST)
public class CarrinhoComprasController {
@Autowired
private ProdutoDao produtoDao;
@Autowired
private CarrinhoCompras carrinho;
@RequestMapping("/add")
public ModelAndView add(Long produtoId, TipoPreco tipoPreco){
ModelAndView modelAndView = new ModelAndView("redirect:/carrinho");
CarrinhoItem carrinhoItem = criaItem(produtoId, tipoPreco);
carrinho.add(carrinhoItem);
return modelAndView;
}
private CarrinhoItem criaItem(Long produtoId, TipoPreco tipoPreco) {
Produto produto = produtoDao.find(produtoId);
CarrinhoItem carrinhoItem = new CarrinhoItem(produto, tipoPreco);
return carrinhoItem;
}
@RequestMapping(method=RequestMethod.GET) // vai acessar apenas com /itens
public ModelAndView itens(){
return new ModelAndView("carrinho/itens");
}
}