Skip to content

Tiacx/Laravel-ApiFox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel-ApiFox

说明

功能:通过TestCase快速生成ApiFox文档

安装

composer require tiacx/laravel-apifox --dev

配置

发布配置文件

php artisan vendor:publish --tag=config

配置请求中间件

修改 app/Http/Kernel.php 文件,增加 \Tiacx\ApiFox\Middleware\ApiFoxMiddleware::class 中间件配置

增加 .env 配置项

APIFOX_PROJECT_ID=3481718
APIFOX_ACCESS_TOKEN=APS-8YGmxRP5V3w5dWER6WEXXXXXXXXXX

注:项目ID 及 访问令牌的获取方法请参考官方开放平台说明(https://apifox-openapi.apifox.cn/)

使用

TestCase 方法处添加 @apifox.name@apifox.tags 标识,然后运行 TestCase 即可。

  • @apifox.name 接口名称(必填)
  • @apifox.description 接口描述(非必填)
  • @apifox.tags 接口目录(非必填。支持多级,使用 / 隔开)
  • @apifox.withHeaders 带上头信息(非必填。公共头应该在 ApiFox 里设置)
<?php

namespace Tests\Feature;

use Tests\TestCase;

class ExampleTest extends TestCase
{
    /**
     * @test 测试生成ApiFox文档
     * @apifox.name 这是一个测试接口
     * @apifox.tags Admin/Test
     */
    public function test_laravel_apifox(): void
    {
        $response = $this->getJson('/api/admin/test')
            ->assertStatus(200)
            ->json();
        dd($response);
    }
}

注:生成文档之后,可把 @apifox 相关注释删除掉。

注意事项

ApiFox开放平台只提供的数据导入接口,只有新增接口功能,没有更新或删除接口的功能。如果需要重新推送接口,要先手动删除ApiFox里的接口,再运行TestCase,再重新推送。