1. 程式人生 > >thinkphp 整合swagger-php

thinkphp 整合swagger-php

Swagger-ThinkPHP

平時寫app介面的時候,都是先寫介面再去寫介面文件,有時候想測試介面都是一件很複雜的事情,忙的時候都找不到介面文件在什麼地方。有了這個元件你就不用擔心文件找不到、介面不好測試。它可以幫你邊寫介面的同時邊寫介面文件並且可以線上除錯介面,就是這麼安逸。

swagger-ui

這東西咋用呢? 說白了就是安裝Swagger套件, 然後php檔案程式碼裡寫註釋, 用Swagger後端程式跑來php檔案中提取註釋, 生成一個json檔案, 再通過Swagger前端來美化,達到展示JSON資料的效果。

前提:thinkphp3.2必須支援composer安裝元件,且你的電腦上已經安裝了composer,具體怎麼安裝composer這裡就不詳細介紹了,自行百度安裝composer,最好把映象換成國內的,如果你有很好的vpn等於我沒說哈,這些方法百度上都有。

第一步:安裝swagger-ui前端

下載thinkphp3.2框架解壓後放到網站根目錄中改名tp

 git clone https://github.com/swagger-api/swagger-ui.git

下載完成之後,將資料夾放到你的網站根目錄上面,例如我是放在我wamp下面的www目錄。

接著找到dist目錄, 開啟index.html把其中的那一串url改成自己的 比如http://localhost/tp/swagger-docs/swagger.json

如果你想支援中文在index.html中加上

<script src='lang/translator.js' type='text/javascript'>

</script><script src='lang/zh-cn.js' type='text/javascript'></script>

然後開啟URL輸入http://localhost/swagger-ui/dist/index.html就可以看到前端介面了, 應該是沒內容的, 因為還沒生成swagger.json, 生成好之後你設定的URL就起了作用。swagger.json我是放在tp框架下的swagger-docs目錄中的,具體路徑看你自己,具體下面會提到,不要慌O(∩_∩)O~。

第二步:安裝swagger-php後端

進入你的tp框架中,找到與index.php同級目錄的composer.json檔案,開啟檔案在require下面加上"zircote/swagger-php": "*"一行,然後在當前目錄下按住 shift + 右鍵 選擇 ‘在此處開啟命令視窗’ ,執行composer update等待安裝完成 或者 直接在當前目錄中按住shift + 右鍵選擇 ‘在此處開啟命令視窗’ 執行composer require zircote/swagger-php安裝swagger-php。詳情安裝步驟見 

https://github.com/zircote/swagger-php 。

提示安裝完成後執行composer global require zircote/swagger-php會在你tp專案的vendor中生成一個zircote的元件資料夾,說明已經安裝外掛成功了。

第三步:生成swagger.json檔案

直接在命令列中輸入

php E:/wamp64/www/tp/vendor/zircote/swagger-php/bin/swagger E:/wamp64/www/tp/vendor/zircote/swagger-php/Examples -o E:/wamp64/www/tp/swagger-docs 生成swagger.json檔案。

注意:第一個路徑是你安裝成功後元件的路徑;第二個路徑是你想要生成這個目錄下所有用swagger方式註釋的php檔案,把所有註釋生成api文件;第三個路徑是你存放生成swagger.json的路徑。 ---------------------  作者:weixin_40423906  來源:CSDN  原文:https://blog.csdn.net/weixin_40423906/article/details/78164616?utm_source=copy  版權宣告:本文為博主原創文章,轉載請附上博文連結!