Heim  >  Artikel  >  PHP-Framework  >  So verwenden Sie Swagger mit ThinkPHP6

So verwenden Sie Swagger mit ThinkPHP6

王林
王林Original
2023-06-20 08:58:541911Durchsuche

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

Schritt 3: Swagger-Dokument erstellen

Es gibt viele Möglichkeiten, ein Swagger-Dokument zu erstellen, einschließlich des manuellen Schreibens eines Swagger-Dokuments, der Verwendung des Swagger-Editors, der Verwendung des Swagger-Generators usw. Hier verwenden wir das von Swagger-Annotations bereitgestellte Befehlszeilentool, um die Swagger-Dokumentation automatisch zu generieren.

Geben Sie den folgenden Befehl im Stammverzeichnis des Projekts ein: 🎜rrreee🎜Dadurch wird das Swagger-Dokument mit dem Befehl 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn