Swagger UI plugin for webman
Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。
ziyoren/swagger
集成了SwaggerUI和zircote/swagger-php
。具備以下特點(diǎn):
composer require ziyoren/swagger
注意
雖然可以在Webman的應(yīng)用市場下載源碼,但是推薦用composer安裝,因?yàn)榭梢宰詣影惭b相關(guān)依賴。
如果您是從Webman的應(yīng)用市場下載的源碼,請確保安裝了zircote/swagger-php
composer require zircote/swagger-php
訪問http://127.0.0.1:8787/app/swagger
就可以看到SwaggerUI的界面。
以主項(xiàng)目app/controller/IndexController.php
為例,增加注釋
<?php
namespace app\controller;
use support\Request;
/**
* @OA\Info(
* title="我的第一個(gè)API",
* version="0.0.1",
* contact={
* "name": "技術(shù)支持",
* "email": "asun@66580.cn"
* }
* )
*/
class IndexController
{
public $name;
public function index(Request $request)
{
return response('hello webman'. $this->name);
}
public function view(Request $request)
{
return view('index/view', ['name' => 'webman']);
}
/**
* @OA\Get(
* path="/index/json",
* @OA\Response(response="200", description="{ 'code': 0, 'msg': 'ok' }")
* )
*/
public function json(Request $request)
{
return json(['code' => 0, 'msg' => 'ok']);
}
}
默認(rèn)掃描主項(xiàng)目的app/controller
目錄。如果需要增加掃描的目錄,請修改plugin/swagger/config/app.php
文件里的scan_path
。
<?php
use support\Request;
return [
'debug' => true,
'controller_suffix' => 'Controller',
'controller_reuse' => false,
'version' => '0.1.0',
//增加對model目錄的掃描
'scan_path' => [app_path('controller'), app_path('model')],
];