Qu'est-ce que l'API REST dans laravel : tout ce que vous devez savoir
Publié: 2022-11-03Le monde se tourne complètement vers la facilité d'utilisation des appareils mobiles et la recherche de solutions en ligne. La conception et le développement Web progressent massivement dans le monde d'aujourd'hui.
La plupart de la demande s'est tournée vers les smartphones, car le développement de sites Web englobe également le développement d'applications mobiles. Cela étant dit, pour les applications mobiles, le backend nécessite une API reposante.
Si vous ne savez pas ce qu'est l'API REST, ce n'est pas grave ! Nous avons ce qu'il vous faut.
Dans ce blog, j'expliquerai ce qu'est une API reposante et comment elle fonctionne. J'expliquerai également comment développer une API reposante dans Laravel.
Commençons…
Qu'est-ce que l'API REST ?
APi est une interface de programmation d'applications, qui nous aide à connecter un appareil à un autre appareil, par exemple mon conjoint, nous avons un site Web en direct et maintenant nous voulons créer une application mobile, nous allons donc créer une API pour connecter les données à l'appareil, nous devons utiliser JSON données à transmettre dans l'appareil afin que cela ne puisse être fait qu'avec l'API.
Parfois, une API de communication REST réseau ou une API de transfert d'état représentatif est nécessaire.
Comment ça marche?
Au tout début, nous devons installer l'application laravel dans notre système afin de pouvoir suivre la documentation officielle de laravel qui nous aidera à aller plus loin. Voici le lien du document qui peut être suivi pour installer l'application laravel :
http://laravel.com/
Pour installer l'application, veuillez utiliser cette commande, mais assurez-vous d'avoir composer dans votre système, car composer est un outil de dépendance qui aide à installer toutes les dépendances dans l'application, vous pouvez suivre ce lien :
https://getcomposer.org/download/
Une fois que vous avez installé composer, vous pouvez télécharger laravel , veuillez utiliser cette commande :
compositeur créer-projet --prefer-dist laravel/laravel laravel-sanctum-auth
Une fois le projet installé, vous devez définir les détails de la base de données dans le fichier .ENV, il vous suffit donc de remplir votre base de données dans le fichier ENV.
L'étape suivante consiste à installer le package API. De nombreux packages sont disponibles, mais vous pouvez les installer selon votre choix.
Donc, pour installer le package, vous devez suivre la commande indiquée dans la documentation laravel. Comme je vais utiliser Sanctum, j'utiliserai cette commande :
le compositeur a besoin de laravel/sanctum
Après avoir exécuté cette commande, mon package sera installé et il sera prêt à être utilisé. Suivez simplement la capture d'écran ci-dessous :
Une fois la configuration du package terminée, l'étape suivante consiste à créer un modèle pour la base de données. Nous allons créer un mode et une migration qui se connecteront à la base de données directe,
fichier app/Models/User.php.
<?php
espace de noms App\Models ;
utilisez Illuminate\Contracts\Auth\MustVerifyEmail ;
utilisez Illuminate\Database\Eloquent\Factories\HasFactory ;
utilisez Illuminate\Foundation\Auth\User comme authentifiable ;
utilisez Illuminate\Notifications\Notifiable ;
// sanctuaire
utilisez Laravel\Sanctum\HasApiTokens ;
l'utilisateur de classe étend authentifiable
{
utiliser HasApiTokens, HasFactory, Notifiable ;
/**
* Les attributs qui sont assignables en masse.
*
* Tableau @var
*/
protégé $fillable = [
'Nom',
'e-mail',
'le mot de passe',
] ;
/**
* Les attributs qui doivent être masqués pour les tableaux.
*
* Tableau @var
*/
protégé $caché = [
'le mot de passe',
'remember_token',
] ;
/**
* Les attributs qui doivent être convertis en types natifs.
*
* Tableau @var
*/
protégés $casts = [
'email_verified_at' => 'dateheure',
] ;
}

Maintenant, nous devons créer un contrôleur, veuillez donc utiliser cette commande pour créer un contrôleur
Php artisan make :: controller NOM DU CONTRÔLEUR
fichier app/Http/Controllers/API/BaseController.php :
<?php
espace de noms App\Http\Controllers\API ;
utilisez Illuminate\Http\Request ;
utilisez App\Http\Controllers\Controller comme contrôleur ;
la classe BaseController étend le contrôleur
{
/**
* méthode de réponse de succès.
*
* @return \Illuminate\Http\Response
*/
fonction publique sendResponse($résultat, $message)
{
$réponse = [
'succès' => vrai,
'données' => $résultat,
'message' => $message,
] ;
return response()->json($response, 200);
}
/**
* renvoyer une réponse d'erreur.
*
* @return \Illuminate\Http\Response
*/
fonction publique sendError($error, $errorMessages = [], $code = 404)
{
$réponse = [
'succès' => faux,
'message' => $erreur,
] ;
if(!empty($errorMessages)){
$response['data'] = $errorMessages ;
}
return response()->json($response, $code);
}
}
Remarque : Chaque fois que nous créons une API, nous envoyons toujours une réponse au format JSON avec un code d'état.
Pour l'API, nous créons toujours un jeton d'authentification. Cela signifie que si le jeton sera créé et vérifié, nous pourrons alors authentifier les utilisateurs.
<?php
espace de noms App\Http\Controllers\API ;
utilisez Illuminate\Http\Request ;
utilisez App\Http\Controllers\API\BaseController comme BaseController ;
utilisez Illuminate\Support\Facades\Auth ;
utiliser Validateur ;
utilisez App\Models\User ;
la classe AuthController étend BaseController
{
connexion à la fonction publique(Request $request)
{
if(Auth ::attempt(['email' => $request->email, 'password' => $request->password])){
$authUser = Auth::user();
$success['token'] = $authUser->createToken('MyAuthApp')->plainTextToken ;
$succès['nom'] = $authUser->nom ;
return $this->sendResponse($success, 'Utilisateur connecté');
}
autre{
return $this->sendError('Unauthorised.', ['error'=>'Unauthorised']);
}
}
inscription à la fonction publique(Request $request)
{
$validator = Validator::make($request->all(), [
'nom' => 'obligatoire',
'email' => 'required|email',
'mot de passe' => 'obligatoire',
'confirm_password' => 'required|même:mot de passe',
]);
if($validator->fail()){
return $this->sendError('Error validation', $validator->errors());
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = Utilisateur ::create($input);
$success['token'] = $user->createToken('MyAuthApp')->plainTextToken ;
$succès['nom'] = $utilisateur->nom ;
return $this->sendResponse($success, 'L'utilisateur a été créé avec succès.');
}
}
Ce fichier route :
Enfin, pour exécuter le projet, nous devons exécuter cette commande :
service artisanal php
Emballer
Les API alimentent bon nombre des sites Web et services les plus populaires d'aujourd'hui, des réseaux sociaux aux applications financières. Dans ce blog, vous avez été présenté à l'API REST dans Laravel. Nous espérons que cela a jeté les bases de votre compréhension de ce qu'est l'API REST et de son fonctionnement.
Si vous recherchez des services de développement Web, vous n'avez pas besoin de chercher plus loin. Chez webdew, vous pourrez trouver une équipe proactive de concepteurs et de développeurs Web qualifiés pour concevoir et créer le site Web de votre entreprise. Contactez-nous pour en savoir plus.