cblink/hyperf-yapi-doc

包描述在这里。

v0.2.3 2023-11-26 02:29 UTC

This package is auto-updated.

Last update: 2024-08-26 04:16:42 UTC


README

.

安装

$ composer require cblink/hyperf-yapi-doc -vvv

配置说明

配置比较复杂,先凑合着用吧,这个等有空了再改

return [
   // yap请求地址
       'base_url' => 'http://yapi.cblink.net/',
       // 文档合并方式,"normal"(普通模式) , "good"(智能合并), "merge"(完全覆盖)
       'merge' => 'merge',
   
        // token配置
       'config' => [
            // key名称可以自定义,默认是 default ,可以增加多个token配置
           'default' => [
                // yapi project id
               'id' => 1,
                // yapi project token
               'token' => 'xxxxxx'
           ],
       ],
   
       'public' => [
           // 返回值前缀
           'prefix' => 'data',
   
           // 公共的请求参数,query部分
           'query' => [
                // 格式 key => [] , key为返回值名称
                // plan 的返回参数说明,
                // must,无论接口返回是否返回,都出现在yapi文档中
                // required,是否必须填写
               'page' => ['plan' => '页码,默认1'],
               'page_size' => ['plan' => '每页数量,不超过200,默认15'],
               'is_all' => ['plan' => '是否获取全部数据,不超过1000条'],
           ],
   
           // 公共的响应参数
           'data' => [
                // 格式 key => [] , key为返回值名称
                // plan 的返回参数说明,
                // must,无论接口返回是否返回,都出现在yapi文档中
                // required,是否必须出现
                // children,子集信息,参数和上边一样
               'err_code' => ['plan' => '错误码,0表示成功', 'must' => true, 'required' => true],
               'err_msg' => ['plan' => '错误说明,请求失败时范湖', 'must' => true],
               'meta' => [
                   'plan' => '分页数据',
                   'must' => false,
                   'children' => [
                       'current_page' => ['plan' => '当前页数'],
                       'total' => ['plan' => '总数量'],
                       'per_page' => ['plan' => '每页数量'],
                   ]
               ]
           ]
];

使用

查看下面的示例使用

use HyperfTest\TestCase;

class BaseTestCase extends TestCase
{
    public function test_store_products()
    {
        // 接口请求
         $res = $this->post('/api/product', [
            'product_name' => '商品名称',
            'price' => 500
        ]);
        
        $this->assertXXX($res);
        
        // 参数 dto
        $dto = new \Cblink\YApiDoc\YapiDTO([
            // 这里天多项会同时发布到多个项目组中
            'project' => ['default', 'custom'],
            'name' => '接口名称',
            'category' => '接口分组',
            'request' => [
                // 参数 => 参数说明
                'product_name' => '商品名称'
            ],
            // 非必填排除
            'request_expect' => [],
            'response' => [
                // 数组的说明,如果是需要给数组加说明,需要带上*
                // 多层级可以嵌套,   *.products.*.name => '订单商品名称'
                '*.name' => '',
                'price' => '价格'
            ],
            // 允许非必须返回的字段
            'response_expect'=>[
                '*' => ['name', 'price'],
                'price',
                'aaa' => ['name']
            ]           
        ]);
        
        $yapi = new \Cblink\YApiDoc\YApi($request, $response, $dto);
        
        // 生成文件
        $yapi->make();
    }
}

贡献

你可以通过以下三种方式之一进行贡献

  1. 使用 问题追踪器 提交错误报告。
  2. 问题追踪器 上回答问题或修复错误。
  3. 贡献新功能或更新维基。

代码贡献过程并不非常正式。你只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献必须附带适用的情况下的单元测试。

许可证

MIT