yii2 使用 zircote/swagger-php 進行swagger 搭建
阿新 • • 發佈:2018-01-04
dev 客戶端 引用 官方文檔 -a plink packagist star 域名
網站上關於中文介紹的博客許多東西千篇一律,而且講的很多都浪費了我大量的時間。
然後就準備咬咬牙看看英語文檔:
https://packagist.org/packages/zircote/swagger-php
進行網站進行搭建,使用的是yii2 2.0.12
使用composer 進行安裝
composer require zircote/swagger-php
然後進行下載swagger-ui 這個主要進行一個swagger調試的客戶端,沒有進行後端的交互,他主要是通過一個json進行初始化工作
https://github.com/swagger-api/swagger-ui
然後對這個裏面的dist/index.html進行修改json文件的引用,我是將這個客戶端放到一個獨立的域名下,然後在yii中寫入一個方法生成一個json
define(‘API_HOST‘,(YII_ENV === ‘dev‘)?‘new.rprise.wd.com‘:‘test.com‘);
$b2broot = Yii::getAlias(‘@rprise‘);
$swagger = \Swagger\scan($b2broot);
echo $swagger;exit;
然後將dist/index.html 文件指向這個文件路由
// Build a system
const ui = SwaggerUIBundle({
url: "http://new.rprise.wd.com/user/genswg", //修改這個位置
dom_id: ‘#swagger-ui‘,
deepLinking: true,
為了避免誤導大家,還是不多說了,最後還是希望大家還是多看看官方文檔
https://github.com/zircote/swagger-php/blob/HEAD/docs/Getting-started.md //這裏編寫了代碼的註釋規範
看到一楞一楞的時候看看這個
https://bfanger.nl/swagger-explained/#schemaObject
一開始進行搭建代碼生成可能會報錯
比如
@SWG/info not fount 之類是因為沒寫註釋,總之耐心,相信官網文檔,有問題留言一下討論
yii2 使用 zircote/swagger-php 進行swagger 搭建