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

Serviço http://book-payment.herokuapp.com/payment - http500

http://book-payment.herokuapp.com/payment {"value": 50} Ao chamar o serviço de pagamento está retornando HTTP500 - Poderiam verificar? Obrigado! Testei com a extensão do Browser RESTer e tbm não houve sucesso. Todas a configurações foram feitas, tanto no AppWebConfiguration, quanto a inserção da biblioteca do Jackson no pom.xml.

Classe PagamentoController

import java.util.concurrent.Callable;

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.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.br.casadocodigo.loja.models.CarrinhoCompras;
import com.br.casadocodigo.loja.models.DadosPagamento;

@Controller
@RequestMapping("/pagamento")
@Scope(value=WebApplicationContext.SCOPE_REQUEST)
public class PagamentoController {

    @Autowired
    CarrinhoCompras carrinhoCompras;
    @Autowired
    RestTemplate rest;

    @RequestMapping(value="/finalizar", method=RequestMethod.POST)
    //public ModelAndView finalizar(RedirectAttributes model){
    public Callable<ModelAndView> finalizar(RedirectAttributes model){
        return () -> {
            try{
                String url = "http://book-payment.herokuapp.com/payment";
                rest.postForObject(url, new DadosPagamento(carrinhoCompras.getTotal()), String.class);
                System.out.println(carrinhoCompras.getTotal());
                model.addFlashAttribute("retorno", "Pagamento Realizado com sucesso");
                return new ModelAndView("redirect:/produtos");
            } catch ( Exception e) {
                    e.printStackTrace();
                    model.addFlashAttribute("falha", "Valor maior que o permitido");
                    return new ModelAndView("redirect:/produtos");
            }
        };
    }
}
1 resposta
solução!

Oi Francisco,

Estamos dando uma olhadinha aqui no serviço de pagamento e já te posicionamos.

Obrigada por apontar o problema.

Abraço!

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