欢迎光临
我们一直在努力

在laravel 5.6 中如何使用swagger

在laravel 5.6 中使用swagger

写本篇文章时,本人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 示例:
HomeControllerindex方法上面编写文档

/**
     * @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中刷新,文档就已经出来了,应该是长这个样子
092796de1cd6e8df738beaa5928c6d8.png

推荐:最新的五个Laravel视频教程

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《在laravel 5.6 中如何使用swagger》
文章链接:https://www.rsspt.com/491.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。