Ziyoren Swagger API文档自动生成、调试工具

免费
类型 应用插件
版本 0.1.1
版本更新时间 2023-03-25
大小 2.52 MB
开发商
智游科技
评分

Swagger

Swagger UI plugin for webman

项目介绍

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
ziyoren/swagger集成了SwaggerUI和zircote/swagger-php。具备以下特点:

  • 接口文档在线自动生成
  • 可完成功能测试
  • API文档始终保持同步

安装

composer require ziyoren/swagger

注意
虽然可以在Webman的应用市场下载源码,但是推荐用composer安装,因为可以自动安装相关依赖。

如果您是从Webman的应用市场下载的源码,请确保安装了zircote/swagger-php

composer require zircote/swagger-php

访问

访问http://127.0.0.1:8787/app/swagger就可以看到SwaggerUI的界面。

更新你的代码

以主项目app/controller/IndexController.php为例,增加注释

<?php

namespace app\controller;

use support\Request;

/**
 * @OA\Info(
 *   title="我的第一个API",
 *   version="0.0.1",
 *   contact={
 *     "name": "技术支持",
 *     "email": "asun@66580.cn"
 *   }
 * )
 */

class IndexController
{

    public $name;

    public function index(Request $request)
    {
        return response('hello webman'. $this->name);
    }

    public function view(Request $request)
    {
        return view('index/view', ['name' => 'webman']);
    }

    /**
     * @OA\Get(
     *     path="/index/json",
     *     @OA\Response(response="200", description="{ 'code': 0, 'msg': 'ok' }")
     * )
     */

    public function json(Request $request)
    {
        return json(['code' => 0, 'msg' => 'ok']);
    }

}

默认扫描路径

默认扫描主项目的app/controller目录。如果需要增加扫描的目录,请修改plugin/swagger/config/app.php文件里的scan_path

<?php

use support\Request;

return [
    'debug' => true,
    'controller_suffix' => 'Controller',
    'controller_reuse' => false,
    'version' => '0.1.0',
    //增加对model目录的扫描
    'scan_path' => [app_path('controller'), app_path('model')],
];

依赖

  • PHP >= 7.2
  • Webman >= 1.4
  • zircote/swagger-php >= 4.5

Link

Swagger-PHP

示例值得看看/Learn by example

Swagger-php 2.x documentation

版本历史记录
0.1.1
2023-03-23
完善应用菜单,方便在Webman-Admin的应用插件里安装。
0.1.0
2023-03-13
接口文档在线自动生成
可完成功能测试
API文档始终保持同步
评分及评论
5 满分5分
tyt 2023-12-17
请问下这个怎么使用啊,完全没看懂,不知道怎么生成文档呢? 后台安装后,还是显示安装,也不会显示卸载。
isle 2023-08-22
请问下这个怎么使用啊,完全没看懂,不知道怎么生成文档呢
lfq 2023-07-17
后台安装后,还是显示安装,不会显示卸载。
🔝