本例子使用Laravel 5.2版本php
這裏記錄的是較爲靈活的方案,不考慮使用swaggervel
,具體使用參考一下步驟:html
安裝依賴swagger-php
git
composer require zircote/swagger-php
建立SwaggerController
github
php artisan make:controller SwaggerController
在SwaggerController
加上導出SwaggerJSON數據的處理json
/** * @Swagger( * schemes={"http"}, * basePath="/", * consumes={"application/json"}, * tags={ * @SWG\Tag( * name="API", * description="API接口" * ) * } * ) * * @Info( * title="API文檔", * version="0.1" * ) * * @return mixed */ class SwaggerController extends Controller { public function doc() { $swagger = \Swagger\scan(realpath(__DIR__.'/../../')); return response()->json($swagger); } }
在routes.php
加上路由api
Route::get('/swagger/doc', 'SwaggerController@doc');
接下來下載swagger-ui,將swagger-ui/dist
目錄內的文件拷貝於/public/swagger-ui
目錄下,能夠嘗試訪問http://localhost/swagger-ui
看看可否正常顯示。app
會發現文檔地址仍是例子的地址,能夠修改public/swagger-ui/index.html
文件下的默認地址composer
var url = window.location.search.match(/url=([^&]+)/); if (url && url.length > 1) { url = decodeURIComponent(url[1]); } else { url = "http://petstore.swagger.io/v2/swagger.json" //改爲你的路由地址,如:/swagger/doc; }
再刷新頁面,慢慢享用!ui