laravel 5.6整合 swagger3 和swagger-ui 步驟
阿新 • • 發佈:2018-12-18
- 安裝swagger
composer require zircote/swagger-php
- 然後建立一個 swagger function getJson
/** * @SWG\Swagger( * host="qs.com", * consumes={"multipart/form-data"}, * produces={"application/json"}, * @SWG\Info( * version="0.0.1", * title="大黃專用", * description="趣租樂管理系統介面" * ), * @SWG\Tag( * name="User", * description="使用者操作", * externalDocs={"description":"基礎使用者操作介面"} * ), * * @SWG\Tag( * name="MainPage", * description="首頁模組", * ), * ) */ public function getJSON() { //掃描地址 $swagger = \Swagger\scan(app_path('Http/Controllers/')); return response()->json($swagger, 200); }
- 路由到getJson 在需要api的function上寫註釋
/** * @SWG\Put(path="/swagger/my-data", * tags={"User"}, * summary="測試get1", * description="請求該介面需要先登入。", * operationId="getMyData", * produces={"application/json"}, * @SWG\Parameter( * in="body", * name="body", * type="integer", * description="拿資料的理由", * required=true, * schema={ * "$ref": "#/definitions/Pet" * } * ), * @SWG\Response(response="200", description="操作成功") * ) */
- 如果有 schema 可以在返回值附近再次註釋返回格式
/** * @SWG\Definition( * definition="Pet", * @SWG\Property( * example="1|2", * property="code", * type="integer", * ), * @SWG\Property( * property="msg", * type="string" * ), * @SWG\Property( * property="info", * type="object", * example="{num1:1,num2:2}", * ) * ), */
- 下載好 把dist資料夾內所有內容 拷貝到web根目錄
- index.html 修改內容
url 改成 getJson路由
新增 遮蔽右下角error
window.swaggerUi = new SwaggerUi({
validatorUrl: null,
});