返回

简介

后端

ThinkPHP SwaggerV3 扩展包:揭开 API 文档化的新篇章

在如今 API 驱动的世界中,清晰且全面的文档对于确保 API 的可理解性和可维护性至关重要。SwaggerV3 作为 OpenAPI 规范的最新版本,提供了构建交互式、机器可读的 API 文档的标准化方法。为了简化 ThinkPHP 框架中 SwaggerV3 的集成,我们推出了一个功能强大的扩展包。

安装

在 ThinkPHP 根目录下运行以下命令创建扩展包:

composer create-project tp/think-swagger-v3

创建包

cd think-swagger-v3

安装扩展包依赖项:

composer install

注册扩展包:

// config/autoload.php
return [
    // ...
    'middleware' => [
        // ...
        'think\middleware\Swagger',
    ],
];

用例

在 ThinkPHP 控制器中使用以下注释来提取 API 端点的元数据:

/**
 * @SWG\Get(
 *     path="/articles",
 *     summary="获取文章列表",
 *     tags={"Articles"},
 *     @SWG\Response(
 *         response=200,
 *         description="成功获取文章列表",
 *         @SWG\Schema(
 *             type="array",
 *             @SWG\Items(
 *                 ref="#/definitions/Article"
 *             )
 *         )
 *     )
 * )
 */
public function index()
{
    // ...
}

在 ThinkPHP 模型中使用以下注释来提取模型元数据:

/**
 * @SWG\Definition(
 *     definition="Article",
 *     type="object",
 *     required={"title", "content"},
 *     @SWG\Property(
 *         property="id",
 *         type="integer",
 *         description="文章 ID"
 *     ),
 *     @SWG\Property(
 *         property="title",
 *         type="string",
 *         description="文章标题"
 *     ),
 *     @SWG\Property(
 *         property="content",
 *         type="string",
 *         description="文章内容"
 *     )
 * )
 */
class Article
{
    // ...
}

生成文档

访问 /swagger/index.html URL 以查看生成的 SwaggerV3 文档。

结论

ThinkPHP SwaggerV3 扩展包为 ThinkPHP 应用程序提供了强大的 API 文档化功能。通过利用 OpenAPI 规范,它可以自动生成交互式文档,从而简化了 API 的开发、测试和维护。借助其灵活的配置选项和注释支持,开发者可以轻松地定制文档以满足他们的特定需求。