In working with API teams all over the world, a design pattern we've seen work really well is the API Facade Pattern. We touched on the concept in the Web API Design eBook and then in March of this year we explored the API Facade Design Pattern in a bit more depth in a series of short webcasts. We've created a new eBook with the API Facade material that you can download for your favorite e-reader and will hopefully find useful.
Thanks to all who participated in the HATEOAS 101 Webinar this week. The video (~30 min.) and slides are below. Check them out for an introduction to the core principles, examples, and a look at the value of the approach for API providers and app developers. Thanks @landlessness.
We wrote an API design book! In 2009, a couple of my fellow Apigeeks (@earth2marsh & @gbrail) and I were frustrated with how many bad, inconsistent Web APIs we encountered in the world. So, we started cataloging the bad (and good) things we saw people doing to other people through API design. After three years of discussions, presentations and implementations with technologists all over the world (online & in real life), we are happy to announce the beta version of a new eBook.
Last time, we looked at why you might consider complementing your API with an SDK or code libraries. In the series so far, we've covered a lot of tips and tricks for designing pragmatic RESTful APIs.
You may be asking - How do I follow all these best practice guidelines and still maintain and iterate my APIs? What should I be thinking from an architectural perspective in terms of implementing these best practices?
Add an API virtualization layer ...
So far in the API design series, I've looked at best practices for designing pragmatic RESTful APIs. This time, I'll talk about complementing APIs with code libraries and SDKs. What to do when building a UI requires a lot of domain knowledge?
In this post in the series, let's think about how app developers use that API you're designing and dealing with chatty APIs. Imagine how developers will use your API. When designing your API and resources, try to imagine how developers will use it to say construct a user interface, an iPhone app, or many other apps.
We've covered singular vs. plural nouns to label your resources, tips for search, handling errors, and more. Now lets take a look at what some API requests and responses look like for our dogs API.