PHPackages                             cvcv/think-openapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. cvcv/think-openapi

ActiveLibrary[API Development](/categories/api)

cvcv/think-openapi
==================

OpenAPI generator and docs UI for ThinkPHP 8 API projects.

v1.5.0(1mo ago)124↓50%MITPHPPHP &gt;=8.2

Since Jun 11Pushed 1mo agoCompare

[ Source](https://github.com/c-v-c-v/think-openapi)[ Packagist](https://packagist.org/packages/cvcv/think-openapi)[ RSS](/packages/cvcv-think-openapi/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (4)Versions (8)Used By (0)

Think OpenAPI
=============

[](#think-openapi)

Think OpenAPI 是一个面向 ThinkPHP 8 API 项目的轻量级 OpenAPI 3.1 生成器和文档 UI 组件。

它会读取 ThinkPHP 路由、`#[ApiDoc]` Attribute、`think\Validate` 验证规则、响应 SchemaProvider 和路由中间件信息，生成标准 OpenAPI JSON 文档。同时内置 Scalar 和 Stoplight Elements 文档页面。

功能特性
----

[](#功能特性)

- 从 ThinkPHP 路由定义生成 OpenAPI 3.1 JSON。
- 使用少量 PHP 8 Attribute 描述接口，避免编写大量 OpenAPI 注解。
- 复用 `think\Validate` 规则生成查询参数和 JSON 请求体 schema。
- 使用普通 PHP 类定义可复用响应 schema。
- 支持单项、列表、分页、空响应和自定义响应数据结构。
- 根据配置的中间件识别 Bearer 认证。
- 内置 Scalar、Stoplight 和原始 JSON 文档路由。
- 提供 lint 命令，检查重复路由、重复 operationId、失效 `$ref`、无效响应 provider 和空请求 schema。

环境要求
----

[](#环境要求)

- PHP 8.2 或更高版本
- ThinkPHP 8

安装
--

[](#安装)

```
composer require cvcv/think-openapi
```

本包通过 Composer metadata 自动注册 ThinkPHP 服务。默认配置位于包内的 `config/openapi.php`，你可以在应用配置中覆盖这些选项。

快速开始
----

[](#快速开始)

给需要出现在文档中的控制器方法添加 `#[ApiDoc]`。没有 `#[ApiDoc]` 的方法会被忽略。

```
