alguém poderia me esclarecer o código da penúltima aula?
return () -> {... código omitido
}
alguém poderia me esclarecer o código da penúltima aula?
return () -> {... código omitido
}
o código completo é esse:
@Controller
@RequestMapping("/pagamento")
@Scope(value=WebApplicationContext.SCOPE_REQUEST)
public class PagamentoController {
// codigo suprimido
@RequestMapping(value="/finalizar", method=RequestMethod.POST)
public Callable<ModelAndView> finalizar(RedirectAttributes model){
return () -> {
try {
// codigo suprimido
enviaEmailCompraProduto();
// codigo suprimido
return new ModelAndView("redirect:/produtos");
} catch (HttpClientErrorException e) {
// codigo suprimido
}
};
}
}
OI VInicius, onde há // codigo omitido
é onde não há mudaças no código em relação as aulas anteriores. O código na integra você pode encontrar aqui:
Se sua dúvida for o trecho return () -> { ... }
Saiba que esta é a forma de criar Lambdas, recurso disponível a partir do Java 8. Você pode aprender mais sobre as novidades do Java 8 no curso aqui na Alura: https://cursos.alura.com.br/course/java8-lambdas
No fim, o lambda fará o retorno da execução do trecho dentro deste. Neste caso é o único papel dele. Isso evita que eu use vários return
dentro do código.
Mas há muito mais sobre Lambda para se aprender.
Sua dúvida se resume a isso? O Lambda? Caso tenha algo mais, por favor, nos retorne.
Revisarei o código na aula, aparentemente ficou confuso. Obrigado pelo retorno e bons estudos.
era sobre o lambda mesmo! obrigado!