1.composer安裝
任選下面一個(gè)版本
$ php composer require "darkaonline/l5-swagger:~3.0"
$ php composer require "darkaonline/l5-swagger:5.4.*"
composer 過(guò)程遇到一個(gè)問(wèn)題镇草,說(shuō)內(nèi)存不夠
PHP Fatal error: Allowed memory size of 1610612736 bytes
exhausted (tried to allocate 4096 bytes) in phar:/usr/local/bin/composer
/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
先查看一下php給的內(nèi)存大小
$ php -r "echo ini_get('memory_limit').PHP_EOL;"
128M
解決方案:
- 修改php.ini 中的memory_limit匆帚,記得重啟服務(wù)
memory_limit = 1G
- 執(zhí)行composer之前加COMPOSER_MEMORY_LIMIT=-1
$ COMPOSER_MEMORY_LIMIT=-1 composer require "darkaonline/l5-swagger:~3.0"
2.注冊(cè)Swagger
在config/app.php的providers中添加\L5Swagger\L5SwaggerServiceProvider::class,
生成config/l5-swagger.php Swagger配置
里面包含了swagger標(biāo)題,token驗(yàn)證馍管,路由等钾麸。
3.創(chuàng)建swagger-UI
此目錄下/resources/views/vendor/l5-swagger
4.刷新目錄
或者config/l5-swagger.php 中g(shù)enerate_always 設(shè)置成true
這樣就自動(dòng)刷新了
$ php artisan l5-swagger:generate
5.訪(fǎng)問(wèn)目錄
你的網(wǎng)站/api/documentation,但會(huì)提示缺少api-docs.json文件鲫趁。
路由也可以修改config/l5-swagger.php 中routes的api參數(shù)來(lái)進(jìn)行修改
6.添加測(cè)試API
<?php
namespace App\Http\Controllers;
use Swagger\Annotations\Info;
/**
* @Info(
* title="My title",
* version="v1.0.0"
* )
*/
class SwaggerController extends Controller
{
/**
* 假設(shè)是項(xiàng)目中的一個(gè)API
*
* @SWG\Get(path="/swagger/my-data",
* tags={"project"},
* summary="拿一些神秘的數(shù)據(jù)",
* description="請(qǐng)求該接口需要先登錄斯嚎。",
* operationId="getMyData",
* produces={"application/json"},
* @SWG\Parameter(
* in="formData",
* name="reason",
* type="string",
* description="拿數(shù)據(jù)的理由",
* required=true,
* ),
* @SWG\Response(response="default", description="操作成功")
* )
*/
public function getMyData()
{
}
}