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

相關文章
相關標籤/搜索