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. ...
Get RESTful Web Services Cookbook 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.