References http://javasampleapproach.com/spring-framework/spring-boot/springboot-webflux-functional-restapis