O'Reilly logo

RESTful Web Services Cookbook by Subbu Allamaraju

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 8. Queries

Querying for information is a common application of the HTTP method GET. Queries usually involve three components. They are filtering, sorting, and projections. Filtering is the process of selecting a subset of entities based on some filter criteria. Sorting influences how the server arranges the results in the response. Finally, a projection is the process of selecting certain fields in each entity to be included in the results. For example, a query submitted to a movies server may involve filtering the movies by genre, then sorting the movies by their release dates in reverse chronological order, but then selecting only the title, the year, and a brief description of each movie in the response to the client.

Query design is relatively simple as far as URIs and representations are concerned. For clients to run queries, the server’s responsibilities include designing URIs to support filtering, sorting, and projections; designing representations; and setting appropriate caching headers. This chapter deals with such protocol-visible aspects of query design, covering the following recipes:

Recipe 8.1

This recipe shows how to design URIs for queries.

Recipe 8.2

This recipe shows how to model query results as representations of collection resources.

Recipe 8.3

Use this recipe to learn how to process queries with large inputs.

Recipe 8.4

Use this recipe to implement stored queries.

8.1. How to Design URIs for Queries

Problem

You want to know how to design URIs to support queries. ...

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