Skip to Content
Learning API Styles
book

Learning API Styles

by Lukasz Dynowski, Marcin Dulak
July 2025
Intermediate to advanced
414 pages
10h 22m
English
O'Reilly Media, Inc.
Book available
Content preview from Learning API Styles

Chapter 5. REST

Representational State Transfer (REST) is the most popular network-based API.1 The REST architectural style2 was formulated in 2000 by Roy Fielding in his Ph.D. dissertation “Architectural Styles and the Design of Network-Based Software Architectures”, as an approach to create internet-scale network-based applications.

This chapter goes through the origins, implementation, testing, security, documentation, and trade-offs of REST APIs. You’ll implement a REST API by using the Django REST Framework (DRF), for the Weather Forecast Service (WFS), introduced in “Weather Forecast Service”.

HTTP, Resource, and URI

In practice, the architectural goals of REST translate into three main components: HTTP, a resource, and a URI.

HTTP is the blood vessel of the internet, and the majority of API styles described in this book use HTTP to exchange messages. It’s supported by clients such as web browsers, command-line tools like curl, and libraries for various programming languages. HTTP is an application layer protocol that can be text-based or binary.3 You can find more details about HTTP in Chapter 4.

In REST, any information that can be named can be a resource—for example, a document, an image, a numerical value of zero, or even a person (a human being, a nonvirtual named entity not accessible via the internet).4 A resource is anything that can be a target of a hypertext reference.5

A resource can be static or dynamic. A static resource is immutable, like an image served from ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

API Design Patterns

API Design Patterns

John J. Geewax
Designing APIs with Swagger and OpenAPI

Designing APIs with Swagger and OpenAPI

Lukas Rosenstock, Joshua Ponelat
Learning TypeScript

Learning TypeScript

Josh Goldberg

Publisher Resources

ISBN: 9781098153984Errata Page