Swagger在Laravel项目中的使用

本篇讲述在如何快速在Laravel中引入Swagger并开始使用。

安装

首先是使用Laravel的一个composer:L5 Swagger。 
下面是对应的各个版本。

LaravelSwagger UIOpenAPI Spec compatibilityL5-Swagger
5.1.x2.21.1, 1.2, 2.0php composer require “darkaonline/l5-swagger:~3.0”
5.2.x2.21.1, 1.2, 2.0php composer require “darkaonline/l5-swagger:~3.0”
5.3.x2.21.1, 1.2, 2.0php composer require “darkaonline/l5-swagger:~3.0”
5.4.x2.21.1, 1.2, 2.0php composer require “darkaonline/l5-swagger:~3.0”
5.4.x32.0php composer require “darkaonline/l5-swagger:5.4.*”
5.5.x32.0php composer require “darkaonline/l5-swagger:5.5.*”

 

下面的过程全部基于Laravel 5.5.x 
在Laravel根目录下执行一下命令 
composer require "darkaonline/l5-swagger:5.5.*" 
等待安装结束。 
之后执行:

  • Run php artisan l5-swagger:publish 来进行初始化
  • Run php artisan l5-swagger:generate 来生成环境变量到.env文件中

现在可以看到在config目录下有一个l5-swagger.php,里面就是对应swagger的各个配置。

è¿éåå¾çæè¿°

然后启动项目,访问你的网站地址/api/documentation就可以看到初始化界面了。

è¿éåå¾çæè¿°

接下来在控制器中写出一个SwaggerController,其中代码如下:

<?php
 
namespace App\Http\Controllers;
 
use Swagger\Annotations\Info;
 
/**
 * @Info(
 *     title="My title",
 *     version="v1.0.0"
 * )
 */
class SwaggerController extends Controller
{
    /**
     * 假设是项目中的一个API
     *
     * @SWG\Get(path="/swagger/my-data",
     *   tags={"project"},
     *   summary="拿一些神秘的数据",
     *   description="请求该接口需要先登录。",
     *   operationId="getMyData",
     *   produces={"application/json"},
     *   @SWG\Parameter(
     *     in="formData",
     *     name="reason",
     *     type="string",
     *     description="拿数据的理由",
     *     required=true,
     *   ),
     *   @SWG\Response(response="default", description="操作成功")
     * )
     */
    public function getMyData()
    {
 
    }
}

这是再访问http://localhost/api/documentation,可以看到以下画面:

è¿éåå¾çæè¿°

现在,开始尽情使用Swagger吧。


附上Swagger-PHP的demo地址,可以参照其中的示例。 
Swagger-PHP demo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值