swagger-php 具有来自同一代码的不同文档

swagger-php having different documentations from the same code

我们正在使用 slim 框架和 swagger-php 动态生成 swagger 文档。 我们现在在 API 中有一些不应公开记录的特殊方法。 (/现在的文件) 有什么方法可以让我获得第二个文档 url (/doc2),我可以在其中记录秘密方法和参数? (无需手动制作文档,只需使用 php 代码中的注释即可)。谢谢

根据最新版本的 swagger-php,您可以指定一个文件列表 and/or 目录,以便在构建文档时从扫描中排除。

有关详细信息,请参阅 github 上的扫描功能 docblock

您的问题的解决方案是将 public 和私有方法分离到不同的文件中。然后创建两个文档生成 methods/functions 各自排除对方的文件。

示例:

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

注意:此示例仅供参考,未经测试,您也可以排除文件名。