Monthly Archives: August 2014

Strongly typed direct routing link generation in ASP.NET Web API with Drum

ASP.NET Web API provides an IUrlHelper interface and the corresponding UrlHelper class as a general, built-in mechanism you can use to generate links to your Web API routes. In fact, it’s similar in ASP.NET MVC, so this pattern has been familiar to most devs for a while.

The main problem of it is that it’s based on magic strings, as, to generate a link, the route name has to be passed as a string literal. Moreover, all the parameters that are required to built up the link, are simply a set of name-values, represented by a dictionary or an anonymous object, which is hardly optimal. Code is not coherent, refactoring becomes a pain and in general error potential is high.

My friend, and one of the most respected folks in the Web API community, Pedro Felix, has created a library called Drum, designed to avoid the pitfalls of the UrlHelper, allowing you to build links for Web API direct routing (introudced in Web API 2) in a strongly typed way.

Drum works with any direct routing provider, including my own Strathweb.TypedRouting.

Continue Reading

ASP.NET Web API 2: Recipes is out!

ASP.NET Web API 2 Recipes My long promised book, ASP.NET Web API 2: Recipes has been published by Apress last week. I announced the book a while ago, when I also tried to explain the general idea behind the book. I nshort, I really wanted to write a no-nonsense, blog-like, problem-solution book for Web API.

Since then, as you may have noticed, the title got changed to reflect the latest iteration of Web API. The majority of recipes are compatible with both v1 and v2 of the framework, however some recipes are obviously Web API 2 only (i.e. attribute routing related), and there are actually a couple of ones in there that only work with ASP.NET Web API 2.2 – so it’s all up-to-date!

It’s been a tremendous journey 9 month journey (the work started in the winter) and there are so many people – the Apress crew, my friends, family, and most importantly, the wonderful ASP.NET community and the readers of this blog, that made it all happen. Thank you – I owe you guys big time!

You can get the book at:

Barnes and Noble

The source code is at Github (I will blog about it separately). And please don’t be too harsh 🙂