Please log in to watch this conference skillscast.

At Silk, we have an external REST API that people can use to interact with our product. We also have internal services that talk to each other using REST APIs. These all follow a similar structure: there are resources (users, pages), and actions to perform on them (list, get, update, delete). For each API, we also need clients in different languages, and documentation. To build all these APIs, we've written a set of libraries, which we've recently open sourced.

In this talk, I will explain how these rest libraries work. I'll show how APIs are built, how they are run using different web frameworks, and how you can generate API clients and documentation from them. I will detail some of the design choices, like the choice of existentials in resources, and the use of GADTs holding dictionaries for input and output. Additionally, I'll show some possible future directions for the libraries, providing greater extensibility as well as type safety.

YOU MAY ALSO LIKE: