本例子使用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