Invoking RESTful APIs with Akka HTTP
We've spent quite a bit of time, up to this point, discussing how to build RESTful interfaces to support receiving inbound external requests to delegate to your actors. Now, we'll flip things around and talk about how we can make those external calls to a RESTful API using Akka HTTP. You can use this approach if you need to consume some external service over the internet, such as our dummy credit card charging service in the bookstore app, or to invoke your own internal APIs if you go with a microservices-like approach in your infrastructure.
Over the next few sections I'll break down the main features of Akka's client-side HTTP functionality so you will understand the main usage patterns for that library. Then, you can use this knowledge to remove dispatch from the bookstore code base and replace it with client-side Akka HTTP.
Client-side Akka HTTP and streams
Like the server-side API, the client-side API for Akka HTTP is built on top of Akka Streams. This...