When both spring-boot-starter-web (MVC) and spring-boot-starter-webflux are present, Spring Boot defaults to Spring MVC for handling requests—even for WebFlux-style controllers—because it prioritizes the Servlet stack. If you want pure reactive handling, exclude the spring-boot-starter-web dependency and use only spring-boot-starter-webflux.