Creating a REST Service with WCF and Windsor
Following on from my previous post, here is a short post showing how quickly you can create a REST based service using the WCF Facility for Castle Windsor. We will use the same service contract and implementation as the last post, with some very minor changes (only one, actually). The list of steps to expose our service from the previous post with a REST endpoint consists of:
And the new service contract:
http://server/site/rest.svc/MyOperation1?myValue=I%20am%20RESTful
which returns
<string>A WCF Facility Service says I am RESTful</string>
It’s likely that you wouldn’t want applicaiton/xml to be the default return content-type, but the point of this post is not to show a best practice with REST, but to show how bleeding easy it is to expose a REST endpoint. We are also now exposing TWO endpoints (SOAP and REST) with a singular service implementation, a detail worthy of note. In the real world, you would likely have a service manager that registered service implementations and formatters, allowing the clients to specify a return type (XML, JSON, etc) and amending the content-type accordingly.
This, however, is my blog and could not be farther from the real world. ;)