A recent post on the Dropbox developer’s blog post talked about the challenges of constructing URLs due to the challenges of encoding parameters. They proposed the idea of using encoded JSON to embed parameters in URLs. I believe URI Templates offer a much easier and cleaner way to address this issue. This blog posts shows how. I’ve […]
Several months ago I wrote a post called Where, oh where, does the API key go? I encouraged API providers to allow consumers to put the API Key in the Authorization header to help avoid accidental disclosure of keys via things like web server logs. I recently bumped into a way that anyone can harvest hundreds […]
Part of my role at Runscope involves me writing OSS libraries or sample projects to share with other developers. I also regularly use 3rd party APIs in the process. This requires the use of API keys and other private data that I’d rather not share. Unfortunately it is all too easy to leave a key in a […]
When writing the Web API book, we decided that there was no way we would ever finish if we tried to address every conceivable issue. So we decided to setup a Google Group where readers of the book could ask for clarifications and ask related questions. One question I received a while ago has been sitting on my to-do list […]
Hypermedia is not a new concept, it has been around in various forms since the 1960s. However, in the past seven years there has been a significant resurgence of interest in the concept. This blog post contains my reflections on the past few years, where we currently are and where we might be headed in […]
Yesterday on twitter I made a comment criticizing the practice of putting an API key in a query string parameter. I was surprised by the amount of attention it got and there were a number of responses questioning the significance of my objection. Rather than try and reply in 140 character chunks, I decided a blog post […]
When building client applications that need to connect to a HTTP API, sooner or later you are going to get involved in constructing a URL based on a API Root and some parameters. Often enough when looking at client libraries I see lots of ugly string concatenation and conditional logic to account for empty parameter […]
Runscope provides a way to log HTTP traffic that passes between client and server and it also can also continuously monitor Web API’s to ensure they are functioning correctly. When something goes wrong with the Web API you can be notified immediately. However, out of the box, there isn’t a way to be notified if […]
At a recent conference, I found myself once again in a conversation about the meaning of the term REST. I’ve had this conversation so many times, that I tend to forget that not everyone has heard my take on the subject. The conversation ended with a “you should blog that…”. Most developers are aware that […]