In our previous discussions about API design, we outlined an API design strategy, discussed security measures, and the various elements that go into response messages, including search results and links. Now, let’s explore how we can represent actions and metadata in a response message.
Have you always wanted to learn how to build a mobile app but never found the time? Do you already know how to build apps but want to dive deeper into modern, API-backed, mobile app development practices? Then join us on Thursday May 23 for a very special online webcast. Register here.
Last time we talked about resource response messages. Here, we’ll turn our API design focus towards understanding how to represent search results and links in response messages. To begin, Facebook’s API documentation states that, “Selecting results is not the same as searching.” This is exemplified when we create a language string and query box to search across resource types, whereas when we limit a selection to a specific collection (like photos), you give up the idea of saying give me everything about
One of the most important elements to consider when designing API response messages is which format you’ll use. Most modern apps prefer JSON and this is what we recommend. Only use XML if there's a strong use case to support it. With that said, let’s focus on how to model your response message, for both a single resource and a collection of resources, by looking at how three large APIs do this.
The web is currently moving from text and pictures to video. People often prefer to watch videos rather than read text. The folks at Picovico aim to reduce the barriers to video creation. The Picovico app is available on the web and iPhone, and helps users create video slideshows easily and quickly. We recently talked with the folks at Picovico about their experience analyzing the behavior and performance of their apps using Apigee.
Our friends at ChicagoRuby - a group of Ruby on Rails enthusiasts in downtown Chicago - kindly shared a recording of a recent talk I did about Backend-as-a-Service (BaaS) technology. Check it out to hear about the BaaS platform as a powerful new class of tool that is fast becoming essential for developers, especially for mobile projects.
In a previous webcast, we established that an SOA is not flexible enough to meet the requirements of today's projects. In this follow-up session, Brian Pagano and Greg Brail talk about what an API initiative that evolves your infrastructure entails - including designing a facade for your services, ensuring services are stateless, handling complex and stateful transactions, and more. Video and slides are here.