Exposing a Flexible, Composable and Extensible REST API


Video

 

Designing a good API is a known difficult task, but when it comes to HTTP API some additional constraints like network efficiency and granularity have to be taken into account. Typically, if you want your JavaScript client to choose what data should be returned as well as the granularity of the call you need to have an architecture that allows you to expose your core API in a flexible and composable way. The problem becomes even more complex if in addition you want to let developers contribute new services that should then be exposed as a first-class citizen through your API.

This is a short summary for the challenges we had to solve for exposing an HTTP API on top of our open source platform. In this talk, we will explain the design principles and the techniques we have used to publish our core API as a REST API while maintaining extensibility and giving full power to the client over the granularity of the calls and the data.

More information:

View the video recording:

View the slides: