est un logiciel qui intègre les applications que nous créons avec d’autres applications. Le but de la création est de partager des données entre les applications qui ont été intégrées.
L’API RESTful/REST API est l’application de l’API(Application Programming Interface). REST (Representational State Transfer) est une architecture de méthodes de communication qui utilise le protocole HTTP pour l’échange de données et cette méthode est souvent appliquée au développement d’applications. L’objectif est de faire en sorte que le système soit performant, rapide et facile à développer, notamment en ce qui concerne l’échange et la communication de données.
Construire une API REST en Yii est en fait assez facile. Vous pouvez tirer parti du cadre MVC existant, mais vous créez différents points d’accès auxquels vous voulez accéder par différents types de services (et non par les visiteurs du site web).
Ici, nous utilisons un exemple pour illustrer comment vous pouvez construire un ensemble d’API RESTful avec peu d’effort de codage. Le Yii que nous utiliserons est le modèle avancé yii2.
Supposons que vous souhaitiez exposer les données des utilisateurs via des API RESTful. La table des utilisateurs de cet exemple a été créée lors de la première installation de Yii. Pour savoir comment installer Yii, vous pouvez consulter Comment installer Yii2 Advanced via Composer.
Etapes pour créer une API RESTful sur Yii2 Advanced
A. Créer des API d’extrémité
Dans le Yii2 Advanced template, nous avons un répertoire backend et un répertoire frontend. Pour séparer les fonctionnalités API, nous allons créer un nouveau répertoire nommé « API » en tant que point final.
- Copiez le répertoire backend et renommez-le en « api ».
- Modifiez le fichier« common/config/bootstrap.php » et ajoutez un alias pour « api ».
<?php Yii::setAlias('@common', dirname(__DIR__)); Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend'); Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend'); Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api'); Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');
- Dans le répertoire « environments/dev », copiez le répertoire backend et renommez-le en « api ». De même pour le répertoire « environments / prod », il ressemblera à l’image suivante
- Ajustez le fichier « environments/index.php » comme suit
return [ 'Development' = > [ 'path' = > 'dev', 'setWritable' = > [ .........., 'api/runtime', 'api/web/assets', ], .............. 'setCookieValidationKey' = > [ .........., 'api/config/main-local.php', ], ], 'Production' = > [ 'path' = > 'prod', 'setWritable' = > [ .........., 'api/runtime', 'api/web/assets', ], ............. 'setCookieValidationKey' = > [ .........., 'api/config/main-local.php', ], ], ];
- Dans le répertoire api que nous avons créé précédemment, remplacez tous les mots « backend » par « api »
B. Configuration de Yii
- Créer un contrôleur
Créez unfichier « UserController » dans le répertoire « api/controllers » et copiez les scripts suivants
<?php namespace apicontrollers; use yii\rest\ActiveController; class UserController extends ActiveController { public $modelClass = 'common\models\User'; }
- Configuration des règles et de l’URL d’entrée JSON
Modifiez le fichier « api/config/main.php » en ajoutant la requête JSON et la règle URL comme suit :
return [ ......... 'components' => [ 'request' => [ 'parsers' => [ 'application/json' => 'yiiwebJsonParser', ] ], ......... 'urlManager' => [ 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => 'user'], ], ] ............ ], ............ ];
- Créez un fichier « .htaccess » dans le répertoire « api/web/ » et copiez le code suivant
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php
Autres articles intéressants
C. Essais de l’API
- Téléchargez Postman, puis ouvrez Postman. Envoyez une requête à l’URL « http://localhost/yii2-advanced/api/web/users ».
- Ou avec la commande CURL
- Vous pouvez également y accéder par le biais d’un navigateur en utilisant l’URL « »http://localhost/yii2-advanced/api/web/users » ».