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 you’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 either a broad definition that could apply to almost the entirety of the internet or something so specific that no one actually uses it, 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:

  • They’re 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 versus DELETE /cats/15).

  • They’re stateless, meaning there’s no persistent session authentication between requests; each request must uniquely authenticate itself.

  • They’re ...

Get Laravel: Up & Running, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.