写本篇文章时,本人laravel版本为5.6.28
安装
composer require darkaonline/l5-swagger
Using version ^5.6 for darkaonline/l5-swagger
...
- Installing swagger-api/swagger-ui (v3.17.4)
- Installing doctrine/annotations (v1.6.0)
- Installing zircote/swagger-php (2.0.13)
- Installing darkaonline/l5-swagger (5.6.5)
...
运行
php artisan vendor:publish
选择L5Swagger\L5SwaggerServiceProvider
这项
这时会添加两个文件
- /config/l5-swagger.php
- /resources/views/vendor/l5-swagger/index.blade.php
配置
在app/Http/Controllers/Controller.php
文件中class
前添加注释
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
/**
* @SWG\Swagger(
* basePath="/calculate-rates",
* @SWG\Info(
* title="项目名称 API",
* version="1.0.0"
* )
* )
*/
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
运行命令
php artisan l5-swagger:generate
打开你的项目网址http://localhost/api/documentation
,你会看到swagger已经运行成功了,但是没有显示任何API文档。
编写文档
拿http://localhost/home
示例:
在HomeController
的index
方法上面编写文档
/**
* @SWG\Get(
* path="/home",
* summary="用户资料",
* @SWG\Response(response=200, description="请求成功"),
* @SWG\Response(response=401, description="用户验证失败"),
* @SWG\Response(response=500, description="服务器错误")
* )
*
*/
public function index()
{
return view('home');
}
再次运行命令
php artisan l5-swagger:generate
回到http://localhost/api/documentation
中刷新,文档就已经出来了,应该是长这个样子
更多文档编写方法可参考 https://github.com/zircote/sw...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。