The simplest way to create RESTful APIs in Yii2 is to take advantage of yii\rest\ActiveController
. Like yii\web\Controller
, yii\rest\ActiveController
provides a controller interface that we can implement in our ./controllers
directory. Unlike yii\web\Controller
, implementing yii\rest\ActiveController
with a yii\db\ActiveRecord
model will immediately create a complete REST API for that model available, with very minimal coding. Models implemented with yii\rest\ActiveController
also make the following additional features available out of the box:
XML and JSON response formats
Rate limiting
Data and HTTP caching
Authentication
Full HTTP verb support (
GET
,POST
,PATCH
,HEAD
, andOPTIONS
)Data validation
Pagination
Support for HATEOAS
As an example, let's expose our User model that we created in Chapter 4, Active Record, Models, and Forms. To get started with yii\rest\ActiveController
, we first need to create a controller in our controllers/
directory called UserController.php
, which...