In this chapter, you learned how to design and implement a REST API, while respecting the REST architectural principles.
We created tests to check the API from a client's perspective. We implemented all of the methods by using the DAO that we wrote in the last chapter. All of the calls are asynchronous because we used Future
, which guarantees that our server can handle a lot of concurrent requests.
You also learned how to use the excellent Circe library to encode and decode JSON from Scala. Finally, we added a web interface to document and test the API, using Swagger.
In the next chapter, we are going to use this API to create a web interface based on Scala.js.