O'Reilly logo

RESTful .NET by Jon Flanders

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 3. Programming Read-Only Services

Many RESTful services are designed only to return read-only data and implement GET from the uniform interface for all or a majority of their resources. GET is by far the most commonly used verb in the uniform interface.

In this chapter, we’ll look at how to create this type of service using the constraints of REST using WCF as the implementation. By using the WebGetAttribute and the URI customization of UriTemplate, we will build up a simple but fairly deep set of resources. We will also examine serialization options in WCF and how they relate to RESTful services. We will continue to use the biological taxonomy example from Chapter 2, since it has a rich hierarchy that shows off the power of the UriTemplate system. Chapter 4 will focus on read/write services.

Using WebGetAttribute and UriTemplate

The process of building resources that expose themselves through HTTP GET using WCF is fairly straightforward. You build up a service contract definition using the normal WCF constructs of ServiceContractAttribute and OperationContextAttribute. If you are used to building SOAP-based services with WCF you might be used to customizing these attributes by changing their properties. Although you can do this when building a RESTful service using WCF, doing so won’t help you when using REST.

In addition to these existing attributes, WCF 3.5 adds the WebGetAttribute for building read-only RESTful endpoints. This attribute is added to each CLR method on a ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required