我正在尝试用PHP swagger制作Restful API文档,我之前做的是我改变了json来解决问题,现在我知道我们可以通过制作PHP文件和使用swagger表示法来制作json。我确实检查了Pet.php示例,我得到了代码,但我不知道如何执行该文件以获取我可以与我的Swagger UI链接的json api文档。我阅读文档,但它是如此令人困惑,我不知道如何解决这个问题任何人都可以帮助请。这是我研究的链接,但没有价值。
http://zircote.com/swagger-php/using_swagger.html
Swagger-PHP for generating JSON file for Swagger-UI
任何人都可以一步一步地告诉我如何在json中生成api文档。我非常感谢他,谢谢
答案 0 :(得分:0)
有两种方法可以在swagger-php 2.0中实现这一点。
<强>我强> 第一个解决方案是创建一个控制器或脚本,它将生成每个请求的文档。在您希望快速查看更改结果的开发环境中,这是一个很好的解决方案。
以下是执行此操作的控制器示例。
<?php
namespace Controllers;
use Swagger\Annotations as SWG;
use Swagger;
/**
* @SWG\Swagger(
* basePath="/path/to/opration/",
* produces={"application/json"},
* swagger="2.0",
* @SWG\Info(
* version="1.0.0",
* title="My API"
* )
* )
*
*/
class Documentation {
const API_PATH = "path/to/my/documented/files/";
public function show(){
$swagger = Swagger\scan(self::API_PATH);
return json_enconde($swagger); //you can echo this in the calling script.
}
}
注意:上面的示例假设您使用Composer安装了Swagger-php,并且调用脚本包含作曲家生成的自动加载文件(通常称为:vendor/autoload.php
)。
<强> II。强> 这里描述了第一个包含生成静态json API文档的解决方案:https://stackoverflow.com/a/21380432/2853903
此解决方案建议用于生产部署,您不希望在每次请求时重新生成文档。