Make your API Flexible, Composable and Extensible by Thierry Delprat
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 first class citizen through your API.
Make your API Flexible, Composable and Extensible by Thierry Delprat
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 first class citizen through your API.