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

Finalizar carrinho sem java 8

Boa tarde a todos, gostaria de saber como ficaria essa classe sem o recurso de java 8, por vários motivos ainda não estamos usando o java 8 na nossa organização.

@RequestMapping(value="/finalizar", method=RequestMethod.POST)
public Callable<ModelAndView> finalizar(RedirectAttributes model){
    return () -> {
        try {
            String uri = "http://book-payment.herokuapp.com/payment";
            String response = restTemplate.postForObject(uri, new DadosPagamento(carrinho.getTotal()), String.class);
            model.addFlashAttribute("message", response);
            System.out.println(response);
            return new ModelAndView("redirect:/produtos");
        } catch (HttpClientErrorException e) {
            e.printStackTrace();
            model.addFlashAttribute("message", "Valor maior que o permitido");
            return new ModelAndView("redirect:/produtos");
        }
    };
}

Obrigado

1 resposta
solução!

Oi Abdul,

Seria utilizando uma classe anonima então:

@RequestMapping(value="/finalizar", method=RequestMethod.POST)
public Callable<ModelAndView> finalizar(RedirectAttributes model){
    return new Callable<ModelAndView>() {
        @Override
        public ModelAndView call() throws Exception {
            try {
                String uri = "http://book-payment.herokuapp.com/payment";
                String response = restTemplate.postForObject(uri, new DadosPagamento(carrinho.getTotal()), String.class);
                model.addFlashAttribute("message", response);
                System.out.println(response);
                return new ModelAndView("redirect:/produtos");
            } catch (HttpClientErrorException e) {
                e.printStackTrace();
                model.addFlashAttribute("message", "Valor maior que o permitido");
                return new ModelAndView("redirect:/produtos");
            }
        }
    };
}