Chapter 13. Writing APIs
One of the most common tasks Laravel developers are given is to create an API, usually JSON and REST or REST-like, that allows third parties to interact with the Laravel application’s data.
Laravel makes it incredibly easy to work with JSON, and its resource controllers are already structured around REST verbs and patterns. In this chapter we’ll learn about some basic API-writing concepts, the tools Laravel provides for writing APIs, and some external tools and organizational systems you’ll want to consider when writing your first Laravel API.
The Basics of REST-Like JSON APIs
Representational State Transfer (REST) is an architectural style for building APIs. Technically, REST is a broad definition that could apply to almost the entirety of the Internet, so don’t let yourself get overwhelmed by the definition or caught in an argument with a pedant. When we talk about RESTful or REST-like APIs in the Laravel world, we’re generally talking about APIs with a few common characteristics:
-
Structured around “resources” that can be uniquely represented by URIs, like
/cats
for all cats,/cats/15
for a single cat with the ID of 15, etc. -
Interactions with resources primarily take place using HTTP verbs (
GET /cats/15
versusDELETE /cats/15
) -
Stateless, meaning there’s no persistent session authentication between requests; each request must uniquely authenticate itself
-
Cacheable and consistent, meaning each request (except for a few authenticated-user-specific ...
Get Laravel: Up and Running 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.