Maison >développement back-end >tutoriel php >PHP et Laravel s'intègrent pour implémenter la documentation et les tests de l'interface Swagger

PHP et Laravel s'intègrent pour implémenter la documentation et les tests de l'interface Swagger

王林
王林original
2023-06-25 09:32:461075parcourir

Dans l'environnement Internet de plus en plus ouvert d'aujourd'hui, les API sont devenues le principal moyen permettant à diverses applications de communiquer entre elles. Avec les interfaces API, nous pouvons facilement connecter diverses applications entre elles pour obtenir une scène d'applications plus complexe. Cependant, la rédaction et la maintenance des documents d'interface API, ainsi que les tests d'interface, sont des tâches relativement difficiles. Afin de résoudre ce problème, la documentation de l'interface Swagger et les outils de test ont vu le jour.

Swagger est un framework standardisé et complet pour générer, décrire, appeler et visualiser des services Web de style RESTful. Swagger est open source sur GitHub et maintenu dans OpenAPI. Swagger aide les développeurs à concevoir, créer, documenter et tester les API RESTful tout au long de leur cycle de vie. Pour les développeurs PHP, vous pouvez utiliser l'intégration Swagger PHP et Laravel pour écrire et afficher des documents d'interface API.

Cet article expliquera comment utiliser PHP et Laravel pour intégrer Swagger afin d'écrire et de tester des documents d'interface API.

  1. Installer Swagger PHP

Tout d'abord, nous devons installer le package Swagger PHP. Il peut être installé via Composer, ouvrez le terminal, entrez dans le répertoire du projet Laravel et exécutez la commande suivante :

composer require zircote/swagger-php

  1. Installer Swagger UI

Swagger UI est une page interactive open source for Affiche la documentation API définie par la spécification Swagger. Il comprend une bibliothèque frontale pour le rendu de la documentation API à l'aide de Swagger, ReDoc et Swagger-UI. Vous pouvez l'installer via npm ou télécharger directement le code source de Swagger UI.

Ici, nous utilisons Composer pour installer et exécuter la commande suivante :

composer require darkaonline/l5-swagger

  1. Configurer Swagger PHP

Une fois l'installation terminée, nous devons ajouter le fournisseur de services de Swagger dans la configuration de Laravel déposer. Ouvrez le fichier config/app.php, recherchez le tableau des fournisseurs et ajoutez la configuration suivante :

`
'providers' => [

...
DarkaonlineL5SwaggerL5SwaggerServiceProvider::class,

],

'aliases' => [

...
'Swagger' => DarkaonlineL5SwaggerFacadesSwaggerL5::class,

]
`

Terminé Après la configuration, exécutez la commande suivante pour publier les fichiers de configuration, les vues, le routage et d'autres fichiers de swagger :

php artisan seller:publish --provider "L5SwaggerL5SwaggerServiceProvider"

  1. Écrire des annotations Swagger

Maintenant, nous pouvons commencer à écrire Annotations fanfaronnes. Les annotations Swagger consistent à ajouter des instructions spécifiques aux commentaires de code pour indiquer à l'outil Swagger les paramètres, les valeurs de retour, les méthodes de requête, les adresses de routage et d'autres informations de l'API.

Ici, nous prenons l'interface API de base de Laravel comme exemple. Nous ajoutons des annotations Swagger à notre code. L'exemple de code est le suivant :

`
/**

  • @SWGGet(
  • path="/api/users/{id}",
  • summary="Obtenir des informations sur l'utilisateur",
  • tags={"Gestion des utilisateurs"},
  • @SWGParameter(
  • name ="id",
  • in="path",
  • required=true,
  • type="integer",
  • description="User ID"
  • ),
  • @SWGResponse(
  • response=200,
  • description="Opération réussie",
  • @SWGSchema(
  • type="object",
  • @SWGProperty(
  • property="code",
  • type="integer",
  • format="int64" ,
  • description="Code retour"
  • ),
  • @SWGProperty(
  • property="data",
  • type="object",
  • description="Contenu des informations utilisateur",
  • @SWGProperty(
  • property="id",
  • type="integer",
  • format="int64",
  • description="ID utilisateur"
  • ),
  • @SWGProperty(
  • property="nom",
  • type="string",
  • description="nom d'utilisateur"
  • ),
  • @SWGProperty(
  • property="age",
  • type="integer",
  • format="int32",
  • description ="Âge de l'utilisateur"
  • )
  • )
  • )
  • ),
  • @SWGResponse(response=404, description="Informations utilisateur qui n'existent pas"),
  • @SWGResponse(response=500, description= " Erreur interne du serveur")
  • )
    */

public function getUserInfo($). id)
{

// 根据ID获取用户信息

}
`

Nous utilisons l'annotation @SWGGet au-dessus de l'annotation de code pour décrire la méthode de requête et l'adresse de routage de l'interface, et ajoutons un résumé, des balises, des paramètres, une réponse et d'autres annotations pour indiquer au Swagger outil plus sur l'interface et d'autres détails.

  1. Générer la documentation Swagger

Après avoir terminé la rédaction des annotations Swagger, nous pouvons générer la documentation de l'API Swagger. Ouvrez le terminal, entrez dans le répertoire du projet Laravel et entrez la commande suivante pour générer le document :

php artisan l5-swagger:generate

Après l'exécution, le document API Swagger sera automatiquement généré et accessible via le navigateur http ://votre_hôte/api /documentation Consultez la documentation. Cette page affiche toutes nos interfaces API, y compris les méthodes de requête, les paramètres, les résultats de retour et d'autres détails.

  1. Test de l'interface API

Après avoir terminé la rédaction et l'affichage du document API, nous devons également tester l'interface API. Dans la documentation API de Swagger, nous pouvons tester une interface API en cliquant sur le bouton « Essayer ». Ici, nous pouvons saisir manuellement les paramètres de la requête, puis cliquer sur le bouton « Exécuter » pour effectuer la requête. Swagger lancera automatiquement une requête auprès du serveur et affichera les résultats de la réponse. De cette façon, nous pouvons tester l'interface API via l'outil Swagger.

Résumé

En utilisant l'intégration Swagger PHP et Laravel, vous pouvez facilement rédiger des documents d'interface API parfaits et tester l'interface. Dans les applications pratiques, l'outil Swagger peut considérablement améliorer l'efficacité du développement et réduire l'apparition d'erreurs. Il est recommandé aux développeurs d'adopter l'outil Swagger dès que possible pour améliorer la gestion et la maintenance des interfaces API, améliorant ainsi la fiabilité et la stabilité des applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn