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 ...
Get RESTful .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.