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
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!