I think most us ASP.Net Web API developers have, at some point, experienced the problem where their API is returning a 500 Internal Server Error, but tracing through with Visual Studio doesn’t reveal any exceptions in our code. This problem is often caused when a MediaTypeFormatter is unable to serialize an object. This simple message […]
If you use HTTP then the chances are good that you have to deal with HTTP headers. The syntax of HTTP headers has a long and tortured history, originating from the syntax of email headers. All too often I see headers that don’t conform to the specifications. This makes everyone’s job a little bit harder. […]
We are currently seeing a significant amount of discussion about building hypermedia APIs. However, the server side only plays part of the role in a hypermedia driven system. To take full advantage of the benefits of hypermedia, the client must allow the server to take the lead and drive the state of the client. As […]
In my first deep dive into a HTTP header on the user-agent header I said that I would try and produce a series of posts going under the covers on certain HTTP headers. This post is about the Vary header. The Vary header both wonderful and sad at the same time. I’ll discuss how to make it work […]
Several years ago when I was beginning to work on a large hyper media driven client, I recognized frequently recurring patterns and decided that I could raise the level of abstraction from an HTTP client to a hypermedia client. It took about a year to realize that it was not as good an idea as […]
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 […]