Download the PHP package avrilko/apidocs without Composer
On this page you can find all versions of the php package avrilko/apidocs. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package apidocs
PHP Swagger Api Docs
基于 Hyperf 框架的 swagger 文档生成组件,支持swoole/swow驱动
优点
- 声明参数类型完成自动注入,参数映射到PHP类,根据类和注解自动生成Swagger文档
- 代码DTO模式,可维护性好,扩展性好
- 支持数组(类/简单类型),递归,嵌套
- 支持注解数据校验
- 支持api token
- 支持PHP8原生注解,PHP8.1枚举
- 支持openapi 3.0
使用须知
- php版本 >= 8.0
- 控制器中方法尽可能返回类,这样会更好的生成文档
- 当返回类的结果满足不了时,可以使用 #[ApiResponse] 注解
例子
请参考example目录
安装
使用
1. 发布配置文件
1.1 配置信息
config/autoload/api_docs.php
2. 直接启动框架(需要有http服务)
看到
Swagger Url
显示,表示文档生成成功,访问/swagger
即可以看到swagger页面
3. 使用
注解
命名空间:
Hyperf\DTO\Annotation\Contracts
[RequestBody]
- 获取Body参数
[RequestQuery]
- 获取GET参数
[RequestFormData]
-
获取表单请求
-
获取文件(和表单一起使用)
- 获取Body参数和GET参数
[ApiSecurity] 注解
- 优先级: 方法 > 类 > 全局
注意: 一个方法,不能同时注入RequestBody和RequestFormData
示例
控制器
验证器
基于框架的验证
安装hyperf框架验证器hyperf/validation, 并配置(已安装忽略)
- 注解
Required
Between
Date
Email
Image
Integer
Nullable
Numeric
Url
Validation
...
- 校验生效
只需在控制器方法中加上 #[Valid] 注解
自定义注解验证
注解的验证支持框架所有验证, 组件提供了常用的注解用于验证
- 使用自定义验证注解, 创建注解类继承
Hyperf\DTO\Annotation\Validation\BaseValidation
- 重写
$rule
属性或getRule
方法
注意
数组类型的问题
PHP原生暂不支持
int[]
或Class[]
类型, 使用示例
hyperf 2.2版本报错
@required注解会提示报错,请忽略required
修改文件config/autoload/annotations.php
AutoController
注解
控制器中使用
AutoController
注解,只收集了POST
方法Swagger界面
All versions of apidocs with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
tangwei/swagger-ui Version ^4.6
tangwei/dto Version ~2.1.0
zircote/swagger-php Version ^4.5
tangwei/swagger-ui Version ^4.6
tangwei/dto Version ~2.1.0
zircote/swagger-php Version ^4.5
The package avrilko/apidocs contains the following files
Loading the files please wait ....