Maison >cadre php >PensezPHP >Comment utiliser Swagger avec ThinkPHP6

Comment utiliser Swagger avec ThinkPHP6

王林
王林original
2023-06-20 08:58:542023parcourir

Swagger est un outil de génération de documents API populaire qui aide les développeurs à créer, concevoir et déployer facilement des interfaces API. Dans cet article, nous présenterons comment utiliser Swagger pour générer de la documentation API dans ThinkPHP6 et utiliser Swagger-UI pour afficher et tester les interfaces API.

Étape 1 : Installez Swagger-UI et Swagger-Annotations

Pour utiliser Swagger dans ThinkPHP6, vous devez installer les bibliothèques Swagger-UI et Swagger-Annotations. Ils peuvent être installés via Composer, exécutez simplement la commande suivante dans le répertoire racine du projet :

composer require zircote/swagger-php
composer require swagger-api/swagger-ui

Étape 2 : Ajouter des annotations Swagger dans le contrôleur

Pour utiliser Swagger dans le contrôleur, vous devez l'ajouter aux annotations du contrôleur Ajouter des annotations Swagger. Par exemple, voici un exemple de contrôleur et un exemple de code utilisant Swagger-Annotations :

<?php
namespace appcontroller;

use thinknnotationouteGroup;
use thinknnotationouteMiddleware;
use thinkController;

/**
* @Group("/api/v1")
* @Middleware(class="ppmiddlewareToken")
*/
class UserController extends Controller
{
    /**
    * 用户列表接口
    *
    * @SwaggerGet(
    *     path="/user/list",
    *     summary="获取用户列表",
    *     tags={"User"},
    *     @SwaggerResponse(response="200", description="OK"),
    *     @SwaggerResponse(response="401", description="Unauthorized"),
    * )
    */
    public function index()
    {
        // 代码逻辑
    }
}

Dans le code ci-dessus, nous avons utilisé l'annotation @Group pour spécifier le préfixe de route du contrôleur, en utilisant Annotation @Middleware pour spécifier le middleware du contrôleur. Dans la méthode index, nous utilisons l'annotation @SwaggerGet pour spécifier les informations requises pour la requête GET, telles que le chemin de la requête, le résumé de l'interface, les informations sur l'étiquette et la réponse, etc. @Group注释来指定控制器的路由前缀,使用@Middleware注释来指定控制器中间件。而在index方法中,我们使用了@SwaggerGet注释来指定GET请求所需的信息,如请求路径、接口摘要、标签和响应信息等等。

第三步:生成Swagger文档

生成Swagger文档的方法有很多种,包括手动编写Swagger文档、使用Swagger编辑器、使用Swagger生成器等等。在这里,我们将使用Swagger-Annotations提供的命令行工具来自动生成Swagger文档。

在项目根目录下输入以下命令:

php think swagger output json > swagger.json

这将使用Swagger-Annotations中的output命令将Swagger文档输出到JSON文件中。

第四步:使用Swagger-UI查看和测试API接口

现在,我们已经生成了Swagger文档,我们需要将它展示出来。我们可以使用Swagger-UI来查看和测试API接口。

在项目中新建一个目录public/swagger,将从Swagger-UI官网上下载的所有静态文件都复制到这个目录中。然后,我们需要修改index.html文件中的url变量,将其指向我们刚才生成的Swagger文档。

var url = "../swagger.json";

最后,在浏览器中打开http://localhost/swagger

Étape 3 : Générer un document Swagger

Il existe de nombreuses façons de générer un document Swagger, notamment l'écriture manuelle d'un document Swagger, l'utilisation de l'éditeur Swagger, l'utilisation du générateur Swagger, etc. Ici, nous utiliserons l'outil de ligne de commande fourni par Swagger-Annotations pour générer automatiquement la documentation Swagger.

Entrez la commande suivante dans le répertoire racine du projet : 🎜rrreee🎜Cela affichera le document Swagger dans un fichier JSON à l'aide de la commande output dans Swagger-Annotations. 🎜🎜Étape 4 : Utilisez Swagger-UI pour afficher et tester l'interface API🎜🎜Maintenant que nous avons généré le document Swagger, nous devons l'afficher. Nous pouvons utiliser Swagger-UI pour afficher et tester les interfaces API. 🎜🎜Créez un nouveau répertoire public/swagger dans le projet et copiez tous les fichiers statiques téléchargés depuis le site officiel de Swagger-UI dans ce répertoire. Ensuite, nous devons modifier la variable url dans le fichier index.html pour la pointer vers le document Swagger que nous venons de générer. 🎜rrreee🎜Enfin, ouvrez http://localhost/swagger dans le navigateur pour voir l'interface Swagger-UI. Ici, vous pouvez parcourir la documentation de l'interface API, tester l'interface API et afficher les informations de demande et de réponse de l'interface API. 🎜🎜Résumé : 🎜🎜Voici toutes les étapes pour utiliser Swagger pour générer des documents API dans ThinkPHP6. En utilisant Swagger, les développeurs peuvent plus facilement compléter la documentation, tester et déployer les interfaces API, améliorer l'efficacité du développement et réduire les coûts de développement. Cependant, il convient également de veiller à protéger la sécurité des interfaces API afin de prévenir les attaques malveillantes et les fuites de données. 🎜

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