In Web API 2.1 a new mechanism was introduced for returning HTTP messages that appeared to be a cross between HttpResponseMessage and the ActionResult mechanism from ASP.NET MVC. At first I wasn’t a fan of it at all. It appeared to add little new value and just provide yet another alternative that would a be a source of confusion. […]
Unfortunately, I still regularly run into articles on the web that misunderstand the concept of an HTTP resource. Considering it is a core piece of web architecture, having a clear understanding of what it means can make many other pieces of web architectural guidance considerably easier to understand. To try and keep this post as […]
The one great thing about twitter is that you quickly find out what you failed to explain clearly 🙂 My efforts in advocating for single purpose media types failed to clarify that by single purpose, I am not suggesting that these media types should not be re-usable. Let me try and explain. My realization was triggered by @inadarai ‘s […]
My recent post asking people to refrain from creating more generic hypermedia types sparked some good conversation on twitter between @mamund, @cometaj2, @mogsie, @inadarei and others. Whilst thinking some more on the potential benefits of single purpose media types versus generic hypermedia types, realized there is a correlation between single purpose media types and representation lifetimes. I thought it might be worth […]
Most developers I talk to will cringe if they hear the acronym XSLT. I suspect that reaction is derived from some past experience where they have seen some horrendously complex XML/XSLT combination. There is certainly lots of that around. However, for certain types of document transformations, XSLT can be a very handy tool and with […]
This opinion has been stewing for a couple of years now, but following an excellent conversation I had with Ted Young the other evening at the API Craft San Francisco event, I think it is time to have more discussion around this subject. A little bit of history I have been a big supporter of the HAL media […]
With the recent surge of interest in hypermedia APIs I am beginning to see the term “self-descriptive” thrown around quite frequently. Unfortunately, the meaning of self-descriptive is not exactly self-descriptive, leading to misuse of the term. Consider the following HTTP requests, Example 1 Example 2: I suspect a fair number of people will be surprised […]
In a previous post I talked about how to send raw JSON to a web API and consume it easily. This is a non-obvious process because ASP.NET Web API is optimized for sending and receiving arbitrary CLR object that then get serialized by the formatters in the request/response pipeline. However, sometimes you just want to have more […]
In our Runscope HipChat room a few weeks ago, I was asked about Unicode encoding in URLs. After a quick sob about why I never get asked the easy questions, I decided it was time to do some investigating. I had explored this subject in the past whilst trying to get Unicode support working in my URI Templates […]