Swagger ialah alat penjanaan dokumen API yang popular yang membantu pembangun mencipta, mereka bentuk dan menggunakan antara muka API dengan mudah. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Swagger untuk menjana dokumentasi API dalam ThinkPHP6 dan menggunakan Swagger-UI untuk melihat dan menguji antara muka API.
Langkah pertama: Pasang Swagger-UI dan Swagger-Annotations
Untuk menggunakan Swagger dalam ThinkPHP6, anda perlu memasang pustaka Swagger-UI dan Swagger-Annotations. Mereka boleh dipasang melalui Komposer, cuma jalankan arahan berikut dalam direktori akar projek:
composer require zircote/swagger-php composer require swagger-api/swagger-ui
Langkah 2: Tambah Swagger-Anotasi dalam pengawal
Untuk menggunakan Swagger dalam pengawal, anda perlu untuk menambah Anotasi Swagger dalam anotasi pengawal. Sebagai contoh, berikut ialah contoh pengawal dan kod sampel menggunakan Swagger-Annotations di dalamnya:
<?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() { // 代码逻辑 } }
Dalam kod di atas, kami telah menggunakan @Group
anotasi untuk menentukan awalan laluan pengawal, menggunakan @Middleware
anotasi untuk menentukan perisian tengah pengawal. Dalam kaedah index
, kami menggunakan anotasi @SwaggerGet
untuk menentukan maklumat yang diperlukan untuk permintaan GET, seperti laluan permintaan, ringkasan antara muka, teg, maklumat respons, dsb.
Langkah 3: Jana dokumen Swagger
Terdapat banyak cara untuk menjana dokumen Swagger, termasuk menulis dokumen Swagger secara manual, menggunakan editor Swagger, menggunakan penjana Swagger, dsb. Di sini, kami akan menggunakan alat baris arahan yang disediakan oleh Swagger-Annotations untuk menjana dokumentasi Swagger secara automatik.
Masukkan arahan berikut dalam direktori akar projek:
php think swagger output json > swagger.json
Ini akan mengeluarkan dokumen Swagger ke dalam fail JSON menggunakan perintah output
dalam Swagger-Annotations.
Langkah 4: Gunakan Swagger-UI untuk melihat dan menguji antara muka API
Sekarang kami telah menghasilkan dokumen Swagger, kami perlu memaparkannya. Kita boleh menggunakan Swagger-UI untuk melihat dan menguji antara muka API.
Buat direktori baharu public/swagger
dalam projek dan salin semua fail statik yang dimuat turun daripada tapak web rasmi Swagger-UI ke direktori ini. Kemudian, kita perlu mengubah suai pembolehubah index.html
dalam fail url
untuk menunjukkannya ke dokumen Swagger yang baru kami hasilkan.
var url = "../swagger.json";
Akhir sekali, buka http://localhost/swagger
dalam penyemak imbas untuk melihat antara muka Swagger-UI. Di sini, anda boleh menyemak imbas dokumentasi antara muka API, menguji antara muka API dan melihat permintaan dan maklumat tindak balas antara muka API.
Ringkasan:
Di atas adalah semua langkah untuk menggunakan Swagger untuk menjana dokumen API dalam ThinkPHP6. Dengan menggunakan Swagger, pembangun boleh melengkapkan dokumentasi, ujian dan penggunaan antara muka API dengan lebih mudah, meningkatkan kecekapan pembangunan dan mengurangkan kos pembangunan. Walau bagaimanapun, perhatian juga harus diberikan untuk melindungi keselamatan antara muka API untuk mengelakkan serangan berniat jahat dan kebocoran data.
Atas ialah kandungan terperinci Cara menggunakan Swagger dengan ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!