2016-02-05 37 views
0

我們使用slim框架和swagger-php來動態生成swagger文檔。 我們現在在API中有一些不應公開記錄的特殊方法。 (/ doc現在) 有什麼辦法我可以有第二個文檔的URL(/ doc2)在哪裏我可以得到祕密方法和params文檔? (不必手動製作文檔,只需使用php代碼中的註釋)。謝謝。swagger-php具有不同文檔的相同代碼

+0

在獨立文件中的私有接口還是與公共接口混合的私有接口? – cen

+0

大多是隱藏參數到現有的方法,所以在同一個文件中。你有什麼考慮? – Ezequiel

+1

我不確定PHP有多大,但是可以指定哪些文件包含其餘的接口。如果這也存在於PHP中,您可以移動私有接口來分隔文件,然後使用不同的配置調用swagger。幾乎喜歡分裂項目。或..以某種方式修改swagger導出與後處理腳本。這是我能想到的最好的。 – cen

回答

1

根據swagger-php的最新版本,您可以指定在構建文檔時從掃描中排除的文件和/或目錄列表。

有關詳細信息,請參閱github上的掃描功能docblock

解決您的問題的方法是將公共和私人方法分隔爲不同的文件。然後創建兩個文檔生成方法/函數,每個文檔都排除其他文件。

例子:

$privateOptions = array(
    'exclude' => array('app/api/public') 
); 
$privateDoc = Swagger\scan("app/", $privateOptions); 
... 
$publicOptions = array(
    'exclude' => array('app/api/private') 
); 
$publicDoc = Swagger\scan("app/", $publicOptions); 

注:這個例子是指示性的,沒有經過測試,你還可以排除的文件名。

相關問題