Spring WebFlux website screenshot

Spring WebFlux

Spring WebFlux is a fully non-blocking, reactive-stack web framework built into Spring Framework 5.0+. It enables building highly scalable, asynchronous web applications using the Reactive Streams API with Project Reactor. WebFlux supports annotated controllers, functional routing endpoints, WebSocket communication, RSocket protocol, and a powerful reactive HTTP client (WebClient) for consuming APIs.

8 APIs 0 Features
JavaMicroservicesNon-Blocking IOReactive ProgrammingREST APISpring BootSpring FrameworkWebFlux

APIs

Spring WebFlux Core

Reactive web framework providing annotated controllers, functional endpoints, dispatcher handler, and the full reactive request/response processing pipeline. Supports non-blocki...

Spring WebFlux WebClient

Reactive, non-blocking HTTP client for consuming REST services and other APIs. Supports builder-based configuration, request/response filters, error handling, streaming, and bri...

Spring WebFlux Router Functions

Functional programming model for routing and request handling in WebFlux. RouterFunction and HandlerFunction provide a lightweight, lambda-based alternative to annotated control...

Spring WebFlux WebSocket

Reactive WebSocket support for full-duplex, bidirectional communication in WebFlux applications. Provides WebSocketHandler, WebSocketSession, and integration with STOMP messagin...

Spring WebFlux RSocket

Integration with RSocket binary protocol for reactive, message-driven communication between microservices. Supports request-response, request-stream, fire-and-forget, and channe...

Reactor Core

Project Reactor is the foundational reactive library powering Spring WebFlux. Provides Mono (0-1 element) and Flux (0-N element) publisher types implementing the Reactive Stream...

Spring WebFlux HTTP Service Client

Declarative HTTP service interface client allowing annotation-based HTTP client definitions with @HttpExchange. Simplifies HTTP client creation with generated proxies backed by ...

Spring WebFlux Testing

Testing support for WebFlux applications including WebTestClient for integration testing of server endpoints, controller tests, and end-to-end testing with a full Spring applica...

Pricing Plans

Webflux Plans Pricing

3 plans

PLANS

Rate Limits

Webflux Rate Limits

5 limits

RATE LIMITS

FinOps

Event Specifications

Spring WebFlux WebSocket API

AsyncAPI specification describing WebSocket communication patterns for Spring WebFlux applications. Spring WebFlux provides reactive WebSocket support via WebSocketHandler and W...

ASYNCAPI

Semantic Vocabularies

Webflux Context

0 classes · 24 properties

JSON-LD

JSON Structure

Webflux Webclient Request Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

📰
Blog
Blog
💬
Support
Support
🔗
Community
Community
👥
StackOverflow
StackOverflow
👥
GitHubOrganization
GitHubOrganization
🔗
Twitter
Twitter
👥
YouTube
YouTube
🔗
Maven Repository
Maven Repository
📄
ReleaseNotes
ReleaseNotes
📄
ChangeLog
ChangeLog
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
aid: webflux
name: Spring WebFlux
description: Spring WebFlux is a fully non-blocking, reactive-stack web framework built into Spring Framework 5.0+. It enables
  building highly scalable, asynchronous web applications using the Reactive Streams API with Project Reactor. WebFlux supports
  annotated controllers, functional routing endpoints, WebSocket communication, RSocket protocol, and a powerful reactive
  HTTP client (WebClient) for consuming APIs.
image: https://spring.io/img/projects/spring-framework.svg
created: '2024-01-01'
modified: '2026-05-03'
specificationVersion: '0.19'
url: https://raw.githubusercontent.com/api-evangelist/webflux/refs/heads/main/apis.yml
apis:
- name: Spring WebFlux Core
  description: Reactive web framework providing annotated controllers, functional endpoints, dispatcher handler, and the full
    reactive request/response processing pipeline. Supports non-blocking I/O with Reactor Mono and Flux types.
  image: https://spring.io/img/projects/spring-framework.svg
  humanUrl: https://docs.spring.io/spring-framework/reference/web/webflux.html
  baseUrl: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/
  tags:
  - Annotated Controllers
  - Dispatcher Handler
  - Functional Endpoints
  - Non-Blocking
  - Reactive
  - Spring Framework
  - WebFlux
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/web/webflux.html
  - type: APIReference
    url: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/package-summary.html
  - type: GitHubRepository
    url: https://github.com/spring-projects/spring-framework/tree/main/spring-webflux
  - type: GettingStarted
    url: https://spring.io/guides/gs/reactive-rest-service/
  - type: Maven Repository
    url: https://mvnrepository.com/artifact/org.springframework/spring-webflux
- name: Spring WebFlux WebClient
  description: Reactive, non-blocking HTTP client for consuming REST services and other APIs. Supports builder-based configuration,
    request/response filters, error handling, streaming, and bridging to blocking operations. Replaces the deprecated RestTemplate.
  image: https://spring.io/img/projects/spring-framework.svg
  humanUrl: https://docs.spring.io/spring-framework/reference/web/webflux-webclient.html
  tags:
  - HTTP Client
  - Non-Blocking
  - Reactive
  - REST
  - WebClient
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/web/webflux-webclient.html
  - type: APIReference
    url: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/function/client/WebClient.html
  - type: Tutorial
    url: https://www.baeldung.com/spring-5-webclient
  - type: GitHubRepository
    url: https://github.com/spring-projects/spring-framework/tree/main/spring-webflux
  - type: JSONSchema
    url: json-schema/webflux-webclient-request-schema.json
  - type: JSONSchema
    url: json-schema/webflux-webclient-response-schema.json
  - type: JSONStructure
    url: json-structure/webflux-webclient-request-structure.json
- name: Spring WebFlux Router Functions
  description: Functional programming model for routing and request handling in WebFlux. RouterFunction and HandlerFunction
    provide a lightweight, lambda-based alternative to annotated controllers for defining HTTP endpoints.
  humanUrl: https://docs.spring.io/spring-framework/reference/web/webflux-functional.html
  tags:
  - Functional Programming
  - Handler Functions
  - Reactive
  - Router Functions
  - Routing
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/web/webflux-functional.html
  - type: Code Examples
    url: https://github.com/spring-projects/spring-framework/tree/main/spring-webflux/src/test/java/org/springframework/web/reactive/function
  - type: JSONSchema
    url: json-schema/webflux-router-function-schema.json
- name: Spring WebFlux WebSocket
  description: Reactive WebSocket support for full-duplex, bidirectional communication in WebFlux applications. Provides WebSocketHandler,
    WebSocketSession, and integration with STOMP messaging protocol.
  humanUrl: https://docs.spring.io/spring-framework/reference/web/webflux-websocket.html
  tags:
  - Bidirectional
  - Full Duplex
  - Messaging
  - Real-Time
  - WebSocket
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/web/webflux-websocket.html
  - type: Code Examples
    url: https://spring.io/guides/gs/messaging-stomp-websocket/
  - type: AsyncAPI
    url: asyncapi/webflux-websocket-asyncapi.yml
- name: Spring WebFlux RSocket
  description: Integration with RSocket binary protocol for reactive, message-driven communication between microservices.
    Supports request-response, request-stream, fire-and-forget, and channel interaction models.
  humanUrl: https://docs.spring.io/spring-framework/reference/rsocket.html
  tags:
  - Binary Protocol
  - Microservices
  - Reactive
  - RSocket
  - Streaming
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/rsocket.html
  - type: APIReference
    url: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/messaging/rsocket/package-summary.html
- name: Reactor Core
  description: Project Reactor is the foundational reactive library powering Spring WebFlux. Provides Mono (0-1 element) and
    Flux (0-N element) publisher types implementing the Reactive Streams specification with composable operators.
  humanUrl: https://projectreactor.io/
  baseUrl: https://repo1.maven.org/maven2/io/projectreactor/reactor-core/
  tags:
  - Flux
  - Mono
  - Project Reactor
  - Reactive Streams
  - Reactor
  properties:
  - type: Documentation
    url: https://projectreactor.io/docs/core/release/reference/
  - type: APIReference
    url: https://projectreactor.io/docs/core/release/api/
  - type: GitHubRepository
    url: https://github.com/reactor/reactor-core
  - type: Learning Materials
    url: https://projectreactor.io/learn
  - type: Maven Repository
    url: https://mvnrepository.com/artifact/io.projectreactor/reactor-core
- name: Spring WebFlux HTTP Service Client
  description: Declarative HTTP service interface client allowing annotation-based HTTP client definitions with @HttpExchange.
    Simplifies HTTP client creation with generated proxies backed by WebClient.
  humanUrl: https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface
  tags:
  - Declarative
  - HTTP Client
  - HTTP Interface
  - Reactive
  - REST
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface
- name: Spring WebFlux Testing
  description: Testing support for WebFlux applications including WebTestClient for integration testing of server endpoints,
    controller tests, and end-to-end testing with a full Spring application context.
  humanUrl: https://docs.spring.io/spring-framework/reference/testing/webtestclient.html
  tags:
  - Integration Testing
  - Reactive Testing
  - Spring Boot Test
  - Testing
  - WebTestClient
  properties:
  - type: Documentation
    url: https://docs.spring.io/spring-framework/reference/testing/webtestclient.html
  - type: APIReference
    url: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/reactive/server/WebTestClient.html
common:
- type: Blog
  url: https://spring.io/blog/category/engineering
- type: Support
  url: https://spring.io/support
- type: Community
  url: https://spring.io/community
- type: StackOverflow
  url: https://stackoverflow.com/questions/tagged/spring-webflux
- type: GitHubOrganization
  url: https://github.com/spring-projects
- type: Twitter
  url: https://twitter.com/springcentral
- type: YouTube
  url: https://www.youtube.com/user/SpringSourceDev
- type: Maven Repository
  url: https://mvnrepository.com/artifact/org.springframework/spring-webflux
- type: ReleaseNotes
  url: https://github.com/spring-projects/spring-framework/releases
- type: ChangeLog
  url: https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions
- type: JSONLD
  url: json-ld/webflux-context.jsonld
- type: Vocabulary
  url: vocabulary/webflux-vocabulary.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
tags:
- Java
- Microservices
- Non-Blocking IO
- Reactive Programming
- REST API
- Spring Boot
- Spring Framework
- WebFlux