System.UriTemplate

Published on July 24, 2007

I hope someone has big plans for System.UriTemplate.  I have been working with the Biztalk Services SDK for a few weeks now trying to build a REST style service using the System.ServiceModel.Web libraries.  I am pretty disappointed at the moment because it seems that UriTemplate only supports a very small set of scenarios for building URIs.

From what I can tell, you can either put a variable in a segment or in the query string.  i.e.

http://example.org/MyService/thing/{param1}?var1={value1}&var2={value2}

I have seen numerous examples of url's coming out of Microsoft recently that are not supported

Web3s uses something like the following:

http://example.org/contact({contactId})

Astoria uses

http://example.org/contact[Contact eq {contactId}]

What's the story?  Why are these two groups not dogfooding System.ServiceModel.Web? Is this a case of providing a toolkit for Mort that will make the simple cases really easy and leave him out to dry for the more tricky stuff?  Or, are we just working with an early version that will get all of this fancy XPath style URI templates at a later point.

Inquiring minds would like to know, but I have yet to find any community support group for the Biztalk SDK where I can ask.