定制 hesb/hyperf-api-doc 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hesb/hyperf-api-doc

最新稳定版本:2.0.1

Composer 安装命令:

composer require hesb/hyperf-api-doc

包简介

A swagger library for Hyperf.

README 文档

README

介绍

基于 tw2066/dto tw2066/api-docs 框架改进而来,特别鸣谢tw2066/dto给的灵感

运行环境

  • php >= 8.2
  • hyperf >= 3.0

安装

composer require hesb/hyperf-api-doc
php bin/hyperf.php vendor:publish hesb/hyperf-api-doc

使用

例子

use Hesb\Hyperf\ApiDocs\Annotation\Api;
use Hesb\Hyperf\ApiDocs\Annotation\ApiHeader;
use Hesb\Hyperf\ApiDocs\Annotation\ApiOperation;

#[Api(tags: 'demo管理')]
#[ApiHeader('token')]
#[ApiHeader('tokenType')]
class DemoController extends AbstractController
{
    #[ApiOperation('登陆')]
    public function index(#[RequestQuery] DemoQuery $request): Contact
    {
        $contact = new Contact();
        $contact->name = $request->name;
        var_dump($request);
        return $contact;
    }

    #[ApiOperation('更新token')]
    public function add(#[RequestBody] DemoBodyRequest $request, #[RequestQuery] DemoQuery $query)
    {
        var_dump($query);
        return json_encode($request, JSON_UNESCAPED_UNICODE);
    }

    public function fromData(#[RequestFormData] DemoFormData $formData): bool
    {
        $file = $this->request->file('photo');
        var_dump($file);
        var_dump($formData);
        return true;
    }
}
use Hesb\Hyperf\ApiDocs\Annotation\ApiModelProperty;

class DemoQuery
{
    #[ApiModelProperty('用户名')]
    public string $user_name;

    #[ApiModelProperty('真实姓名')]
    public string $name;
}
use Hesb\Hyperf\ApiDocs\Annotation\ApiModelProperty;

class DemoBody
{
    #[ApiModelProperty('用户名')]
    public string $user_name;

    #[ApiModelProperty('真实姓名')]
    public string $name;
}
use Hesb\Hyperf\ApiDocs\Annotation\ApiModelProperty;
use Psr\Http\Message\UploadedFileInterface;

class DemoBody
{
    #[ApiModelProperty('上传文件')]
    public UploadedFileInterface $file;

    #[ApiModelProperty('真实姓名')]
    public string $name;
}
UploadedFileInterface为file句柄对象类型

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-28