Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Attribute Routing

0.00/5 (No votes)
3 Mar 2014 1  
Attribute Routing

One of the new things that seems to have passed me by when working with ASP MVC / Web API is Attribute Routing. This is not intended to be a big blog post, but will show you one reason why Attribute Routing is useful.

Imagine we have this Web API controller, which are both valid GET URLs:

image

Which one of these would be chosen when hitting the ValuesController URL: http://localhost:1744/api/values

In fact, if you look at this screen shot, you will see it is an issue for Web API routing:

image

Mmmm, maybe there is something we can do about this. In fact, there is, we just need to grab the fairly new Nu-Get package for AttributeRouting.WebApi.

Install-Package AttributeRouting.WebApi

After you have run this, you will get an automatically created VB|C# file that sets up your WebApi project to allow AttributeRouting. It looks like this:

image

Now that we have the infrastructure in place, we can start using the new RoutingAttribute types.

One of the really useful ones is HttpRouteAttribute, which I can use like this:

image

Which now allows me to do go to this URL with ease: http://localhost:1744/api/values/last

Which I personally find much easier than defining loads of custom routings manually. OK they are still manual, but I do find attributes easier to use.

image

I have just shown one thing that the new AttributeRouting NuGet package allows. For more information, you can see these few posts which are more in depth.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here