首先,使用 composer 安装 owowagency/automated-api-docs 非常简单,只需运行以下命令:
composer require owowagency/automated-api-docs
如果你的 laravel 版本在 5.5 或以上,这个包会自动添加到你的服务提供者列表中。如果你使用的是更低的版本,则需要手动在 config/app.php 文件中的 providers 数组中添加服务提供者:
OwowAgencyAutomatedApiDocsServiceProvider::class,
安装完成后,可以选择发布配置文件,以便根据需要进行自定义设置:
php artisan vendor:publish --provider="OwowAgencyAutomatedApiDocsServiceProvider" --tag="config"
接下来,设置这个库。首先,需要在测试用例中使用 DocsGenerator trait 以启用监控钩子:
use OwowAgencyAutomatedApiDocsDocsGenerator; use IlluminateFoundationTestingTestCase as BaseTestCase; abstract class TestCase extends BaseTestCase { use CreatesApplication, DocsGenerator; }
其次,需要在 setUp 方法中注册一个关闭函数,以便在测试结束时将文档解析为可读格式:
protected function setUp(): void { parent::setUp(); $config = config('automated-api-docs'); register_shutdown_function(function () use ($config) { $this->exportDocsToJson($config); }); }
然后,在 Laravel 应用的根目录下添加一个文件(如果文件已存在,只需复制 documentation 任务即可)。最后,确保在部署脚本中添加 envoy run documentation 命令,例如在 Laravel Forge 上。
在测试方法中,使用 monitor() 方法来注册监控钩子:
public function test_foo() { $user = factory(User::class)->create(); $this->actingAs($user)->monitor()->post('/v1/posts', [ 'title' => 'Foo bar', ]); }
使用 owowagency/automated-api-docs 库后,我发现维护 API 文档变得异常简单。每次更新 API 后,文档会自动生成,确保文档始终与代码保持同步。这不仅节省了大量时间,还减少了人为错误的可能性。
总结来说,owowagency/automated-api-docs 库通过 Composer 的便捷安装和使用,解决了 API 文档维护的难题。其自动化特性和高效的文档生成能力,使其成为 Laravel 开发者必备的工具之一。如果你也在为 API 文档的维护而头疼,不妨尝试一下这个库,你会发现它能大大提升你的工作效率。