In this chapter, we learned about the OpenAPI Specification and how OpenAPI allows developers to describe their entire API, including the available endpoints and operations that can be performed on each endpoint, operation parameters such as input and output for each operation, authentication methods, contact information, licenses, terms of use, and so on.
We also learned about the concept of API-first design, which states that we should start with the design rather than writing the code first. We then learned about the creation resource-centric API, along with its appropriate HTTP requests. This allows you to expose only what you need, prevents you from including unnecessary resources and data, and makes you be conservative in regard to what you send and what you receive.
Finally, we learned about Swagger tooling with a real-life scenario, which will be implemented throughout...