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);
注意:此示例仅供参考,未经测试,您也可以排除文件名。
我们正在使用 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);
注意:此示例仅供参考,未经测试,您也可以排除文件名。