首先,使用 composer 安裝 owowagency/automated-api-docs 非常簡單,只需運行以下命令:
composer require owowagency/automated-api-docs
如果你的 laravel 版本在 5.5 或以上,這個包會自動添加到你的服務(wù)提供者列表中。如果你使用的是更低的版本,則需要手動在 config/app.php 文件中的 providers 數(shù)組中添加服務(wù)提供者:
OwowAgencyAutomatedApiDocsServiceProvider::class,
安裝完成后,可以選擇發(fā)布配置文件,以便根據(jù)需要進行自定義設(shè)置:
php artisan vendor:publish --provider="OwowAgencyAutomatedApiDocsServiceProvider" --tag="config"
接下來,設(shè)置這個庫。首先,需要在測試用例中使用 DocsGenerator trait 以啟用監(jiān)控鉤子:
use OwowAgencyAutomatedApiDocsDocsGenerator; use IlluminateFoundationTestingTestCase as BaseTestCase; abstract class TestCase extends BaseTestCase { use CreatesApplication, DocsGenerator; }
其次,需要在 setUp 方法中注冊一個關(guān)閉函數(shù),以便在測試結(jié)束時將文檔解析為可讀格式:
protected function setUp(): void { parent::setUp(); $config = config('automated-api-docs'); register_shutdown_function(function () use ($config) { $this->exportDocsToJson($config); }); }
然后,在 Laravel 應(yīng)用的根目錄下添加一個文件(如果文件已存在,只需復(fù)制 documentation 任務(wù)即可)。最后,確保在部署腳本中添加 envoy run documentation 命令,例如在 Laravel Forge 上。
在測試方法中,使用 monitor() 方法來注冊監(jiān)控鉤子:
public function test_foo() { $user = factory(User::class)->create(); $this->actingAs($user)->monitor()->post('/v1/posts', [ 'title' => 'Foo bar', ]); }
使用 owowagency/automated-api-docs 庫后,我發(fā)現(xiàn)維護 API 文檔變得異常簡單。每次更新 API 后,文檔會自動生成,確保文檔始終與代碼保持同步。這不僅節(jié)省了大量時間,還減少了人為錯誤的可能性。
總結(jié)來說,owowagency/automated-api-docs 庫通過 Composer 的便捷安裝和使用,解決了 API 文檔維護的難題。其自動化特性和高效的文檔生成能力,使其成為 Laravel 開發(fā)者必備的工具之一。如果你也在為 API 文檔的維護而頭疼,不妨嘗試一下這個庫,你會發(fā)現(xiàn)它能大大提升你的工作效率。