65.9K
CodeProject is changing. Read more.
Home

Attribute Routing

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1 vote)

Mar 3, 2014

CPOL

1 min read

viewsIcon

14312

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.