Heim > Artikel > PHP-Framework > So verwenden Sie Swagger mit ThinkPHP6
Swagger ist ein beliebtes Tool zur Generierung von API-Dokumenten, das Entwicklern dabei hilft, API-Schnittstellen einfach zu erstellen, zu entwerfen und bereitzustellen. In diesem Artikel stellen wir vor, wie Sie Swagger zum Generieren einer API-Dokumentation in ThinkPHP6 verwenden und wie Sie Swagger-UI zum Anzeigen und Testen von API-Schnittstellen verwenden.
Schritt 1: Swagger-UI und Swagger-Annotations installieren
Um Swagger in ThinkPHP6 zu verwenden, müssen Sie die Bibliotheken Swagger-UI und Swagger-Annotations installieren. Sie können über Composer installiert werden. Führen Sie einfach den folgenden Befehl im Projektstammverzeichnis aus:
composer require zircote/swagger-php composer require swagger-api/swagger-ui
Schritt 2: Swagger-Annotations im Controller hinzufügen
Um Swagger im Controller zu verwenden, müssen Sie es zu den Annotationen des hinzufügen Controller Swagger-Annotationen hinzufügen. Hier ist zum Beispiel ein Beispiel-Controller und Beispielcode, der Swagger-Annotationen verwendet:
<?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() { // 代码逻辑 } }
Im obigen Code haben wir die Annotation @Group
verwendet, um das Routenpräfix des Controllers anzugeben @Middleware-Annotation zur Angabe der Controller-Middleware. In der index
-Methode verwenden wir die Annotation @SwaggerGet
, um die für die GET-Anfrage erforderlichen Informationen anzugeben, z. B. Anforderungspfad, Schnittstellenzusammenfassung, Label- und Antwortinformationen usw. @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
in Swagger-Annotations in eine JSON-Datei ausgegeben. 🎜🎜Schritt 4: Verwenden Sie Swagger-UI, um die API-Schnittstelle anzuzeigen und zu testen🎜🎜Da wir nun das Swagger-Dokument generiert haben, müssen wir es anzeigen. Mit Swagger-UI können wir API-Schnittstellen anzeigen und testen. 🎜🎜Erstellen Sie im Projekt ein neues Verzeichnis public/swagger
und kopieren Sie alle von der offiziellen Website von Swagger-UI heruntergeladenen statischen Dateien in dieses Verzeichnis. Dann müssen wir die Variable url
in der Datei index.html
ändern, um sie auf das gerade generierte Swagger-Dokument zu verweisen. 🎜rrreee🎜Öffnen Sie abschließend http://localhost/swagger
im Browser, um die Swagger-UI-Oberfläche anzuzeigen. Hier können Sie die API-Schnittstellendokumentation durchsuchen, die API-Schnittstelle testen und die Anforderungs- und Antwortinformationen der API-Schnittstelle anzeigen. 🎜🎜Zusammenfassung: 🎜🎜Die oben genannten Schritte sind alle Schritte, um Swagger zum Generieren von API-Dokumenten in ThinkPHP6 zu verwenden. Durch die Verwendung von Swagger können Entwickler die Dokumentation, das Testen und die Bereitstellung von API-Schnittstellen einfacher abschließen, die Entwicklungseffizienz verbessern und die Entwicklungskosten senken. Allerdings sollte auch auf den Schutz der Sicherheit von API-Schnittstellen geachtet werden, um böswillige Angriffe und Datenlecks zu verhindern. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie Swagger mit ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!