CodeIgniter + Swagger ==== ###### tags: `CMRDB`, `行雲身份證`, `網頁`, `筆記` > [name=Yi Rong Wu] > [time=Tue, Aug 20, 2019] :::info 環境: windows、XAMPP ::: 1. 下載CodeIgniter 2. 建資料夾`YourProject/swagger/` 3. 下載[Swagger UI](https://github.com/swagger-api/swagger-ui),解壓縮,將`dist/`資料夾裡的檔案全搬到`YourProject/swagger/` ![](https://i.imgur.com/0EWDVWW.png =200x) 4. 安裝 ```shell composer require zircote/swagger-php:2.* ``` 5. 有需要的話,安裝 ```shell composer require darkaonline/l5-swagger ``` 6. 建立Controller(Member) 6. 加上一些註解 swg annotation 一份專案裡至少需要一個`@SWG\Info`的註解 ```php /** * 这里需要一个主`Swagger`定义: * @SWG\Swagger( * @SWG\Info( * title="我的`Swagger`API文檔", * version="1.0.0" * ) * ) */ ``` 7. 加上一些方法和註解 ```php /** * @SWG\Post( * path="/YourProject/index.php/Member/login", * tags={"會員功能"}, * summary="登入", * @SWG\Parameter( * in="query", * name="account", * type="string", * description="帳號", * required=true, * ), * @SWG\Parameter( * in="query", * name="password", * type="string", * description="密碼", * required=true, * ), * @SWG\Response(response="default", description="操作成功") * ) * */ public function login() { echo '{"msg":"hello world"}'; } ``` 8. 下指令生成API 文件檔(json格式) 路徑和檔名可以自行調整 :::info php [swagger程式位置] [Controller資料夾(需要掃描的資料夾)] -o [api文件生成位置] ::: ```shell php /xampp/htdocs/YourProject/vendor/zircote/swagger-php/bin/swagger /xampp/htdocs/YourProject/application/controllers -o \xampp\htdocs\YourProject\api_doc.json ``` 4. 修改`YourProject/swagger/index.html` 改成你的api文件位置 http://127.0.0.1/YourProject/api_doc.json ![](https://i.imgur.com/bEPBYmJ.png) 1. 瀏覽 http://127.0.0.1/Swagger_CodeIgniter/swagger/ ==沒更新的話,用無痕瀏覽== ![](https://i.imgur.com/BM0fNQi.png)