lvmama / laravel-apidoc-generator
从您的 Laravel 应用程序生成漂亮的 API 文档
Requires
- php: >=5.5.0
- fzaninotto/faker: ~1.0
- laravel/framework: ~5.0
- mpociot/documentarian: ^0.2.0
- mpociot/reflection-docblock: ^1.0
- ramsey/uuid: ^3.0
Requires (Dev)
- dingo/api: 1.0.*@dev
- mockery/mockery: ^0.9.5
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~4.0 || ~5.0
This package is not auto-updated.
Last update: 2024-09-29 04:45:33 UTC
README
Laravel API 文档生成器
从现有的 Laravel 路由自动生成您的 API 文档。查看示例文档。
php artisan api:gen --routePrefix="settings/api/*"
image image codecov.io Scrutinizer 代码质量构建状态 StyleCI 依赖状态 安装
使用以下命令通过 composer 安装此包:
$ composer require mpociot/laravel-apidoc-generator
转到您的 config/app.php 文件并添加服务提供者:
Mpociot\ApiDoc\ApiDocGeneratorServiceProvider::class,
用法
要生成您的 API 文档,请使用 api:generate artisan 命令。
$ php artisan api:generate --routePrefix="api/v1/*"
此命令将扫描您的应用程序路由,查找与 api/v1/* 匹配的 URI,并将解析这些控制器方法和表单请求。可用的命令选项:选项 描述 output 生成文档使用的输出路径。默认:public/docs routePrefix 生成时使用的路由前缀 - * 可以用作通配符 routes 生成时使用的路由名称 - 如果没有提供 routePrefix,则为必填项 middleware 生成时使用的中间件 noResponseCalls 禁用 API 响应调用 noPostmanCollection 禁用 Postman 集合创建 useMiddlewares 使用所有配置的路由中间件(对于 Laravel 5.3 的 SubstituteBindings 中间件是必需的) actAsUserId 用于认证 API 响应调用的用户 ID router 处理路由文件时使用的路由器(可以是 Laravel 或 Dingo - 默认为 Laravel) bindings 应该替换以检索路由结果的路线绑定列表。语法格式:`binding_one,id` force 强制重新生成现有/修改的 API 路线 header 添加到示例请求的 HTTP 自定义头部。名称和值用 ":" 分隔。例如:--header 'Authorization: CustomToken' 发布规则描述以进行自定义或翻译。
默认情况下,此包以英语返回描述。您可以通过发布包的语言文件来自定义和翻译文档输出。
$ php artisan vendor:publish
文件发布后,您可以通过重命名 en 文件夹并在 public/vendor/apidoc/resources/lang 中的文件中编辑来以您想要的语言自定义或翻译描述。
此包使用以下资源生成 API 文档:控制器文档块
此包使用 HTTP 控制器文档块创建目录和显示 API 方法的描述。
/**
- 这是简短描述
- 这可以是 API 调用的可选较长的描述,用于文档中。
*/ public function foo()
结果:文档块结果 表单请求验证规则
要显示您的 API 方法接受的参数列表,此包使用 Laravel 的表单请求验证。
public function rules() { return [ 'title' => 'required|max:255', 'body' => 'required', 'type' => 'in:foo,bar', 'thumbnail' => 'required_if:type,foo|image', ]; }
结果:表单请求 API 响应
如果您的 API 路由接受 GET 方法,此包将尝试禁用所有中间件调用 API 路由以获取示例 API 响应。
如果您的 API 需要认证用户,您可以使用 actAsUserId 选项指定用于进行这些 API 调用的用户 ID
$ php artisan api:generate --routePrefix="api/*" --actAsUserId=1
如果您不想自动执行 API 响应调用,请使用 noResponseCalls 选项。
$ php artisan api:generate --routePrefix="api/*" --noResponseCalls
Note: The example API responses work best with seeded data.
Postman 集合
生成器会自动创建一个Postman集合文件,您可以将它导入到Postman App中使用,以便进行更简单的API测试和使用。
如果您不想创建Postman集合,在生成API文档时使用 --noPostmanCollection 选项。修改生成的文档
如果您想修改生成的文档内容,请编辑生成的index.md文件。该文件的默认位置是:public/docs/source/index.md。
编辑完markdown文件后,使用api:update命令重新构建您的文档为静态HTML文件。
$ php artisan api:update
作为可选参数,您可以使用 --location 来指定文档的位置。跳过单个路由
如果您想跳过与给定前缀匹配的路由列表中的单个路由,您可以在不需要文档的控制器方法上使用 @hideFromAPIDocumentation 标签。进一步修改
此包使用Documentarian生成API文档。如果您想修改文档的CSS文件,或者想了解更多可能的功能,请参阅Documentarian指南。许可证
Laravel API文档生成器是免费软件,根据MIT许可证授权。