Continuous Integration, Deployment and Testing of your Web APIs with AppVeyor and Runscope
Fast iterations can be very valuable to the software development process, but make for more time spent doing deployments and testing. Also, more deployments means more opportunities to accidentally introduce breaking changes into your API.
Add Runscope logging to your ASP.NET Web API in minutes
If you are building an ASP.NET Web API and want a view into the HTTP traffic that is hitting your API then this is a really quick solution that might prove useful.
Implementing Conditional Request Handling for your API
In the previous post in this series on Conditional Requests I introduced the topic of validators, their purpose and how they can be constructed. A large chunk of the work that needs to be done to support conditional requests is done by the origin server. This blog post is about that role.
HTTP in depth
Over the past few months I have written a number of posts relating to HTTP that have attempted to clarify some of the lesser understood areas of the HTTP specification and provide some practical guidance.
Caching resources with query strings
This afternoon Scott Hanselman posted a fairly innocuous question on twitter. However, the question involved versioning of a RESTful API, which is a subject that is sure to bring out lots of opinions. This post is less about the versioning question and more about the commonly held belief that caches do things differently with URLs that have query strings.
Centralized exception handling using a ASP.NET Web API MessageHandler
ASP.NET Web API 2.1 introduced some significant improvements to the mechanisms that support global error handling. Before this release there were a number of different types of errors that would be handled directly by the runtime and there was no easy way to intercept these errors and add your own custom behavior. The standard guidance suggests you register these new handlers as services, but I prefer a different approach that seems more natural to me.
Everything you need to know about HTTP Header syntax but were afraid to ask
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. The recent releases of the HTTP specifications have done a fair amount of clarification and consolidation to make getting the syntax right.
Hypermedia as the engine of application state, the client-server dance
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 I like to say, it takes two to Tango.
Composing API responses for maximum reuse with ASP.NET Web API
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. It wasn't until I saw an example produced by Brad Wilson that I was convinced that it had value.
An HTTP Resource is a lot simpler than you might think
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.