Existe um documento oficial da Spring sobre WebApplicationType
https://docs.spring.io/spring-boot/api/java/org/springframework/boot/WebApplicationType.html
A camada de aplicação pode escolher definir:
NONE
The application should not run as a web application and should not start an embedded web server.
REACTIVE
The application should run as a reactive web application and should start an embedded reactive web server.
SERVLET
The application should run as a servlet-based web application and should start an embedded servlet web server.
Eu inadvertidamente esqueci de definir spring.main.web-application-type=reactive
meu aplicativo Spring Webflux.
Eu também esqueci inadvertidamente de definir spring.main.web-application-type=servlet
meu aplicativo Spring MVC.
No entanto, ambos conseguiram atender às solicitações, o aplicativo estava instalado e funcionando, e tudo parecia bem.
Portanto, tenho uma pergunta, qual é o propósito deste WebApplicationType? Parece que ele não está fazendo nada
Isto é para selecionar qual tipo de aplicativo op executar. Se você tiver WebFlux e Spring MVC no classpath, o Spring Boot agora saberá o que iniciar, portanto, você precisa selecioná-lo. Ou você ainda pode ter Spring MVC ou Spring WebFlux no classpath, mas você está escrevendo um aplicativo de linha de comando e, portanto, não quer um servidor e selecione NENHUM.