laravel使用手札——Swagger

本例子使用Laravel 5.2版本php

这里记录的是较为灵活的方案,不考虑使用swaggervel,具体使用参考一下步骤:html

安装依赖swagger-phpgit

composer require zircote/swagger-php

建立SwaggerControllergithub

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

相关文章
相关标签/搜索