Chapter 5: Asynchronous API Design
So far, we have developed RESTful web services based on the traditional model, where calls are synchronous. What if you want to make code async and non-blocking? This is what we are going to do in this chapter. You'll learn about asynchronous API design in this chapter, where calls are asynchronous and non-blocking. We'll develop these APIs using Spring WebFlux, which is itself based on Project Reactor (https://projectreactor.io).
First, we'll walk through the Reactive programming fundamentals, and then we'll migrate the existing e-commerce REST API (which we learned about in Chapter 4, Writing Business Logic for APIs) to an asynchronous (Reactive) API to make things easier by co-relating and comparing the existing (imperative) way and Reactive way of programming.
We'll discuss the following topics in this chapter:
- Understanding Reactive Streams
- Exploring Spring WebFlux
- Understanding DispatcherHandler...