Swagger PHP API文档(执行php文件制作json)

时间:2014-09-18 12:00:49

标签: php json swagger

我正在尝试用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文档。我非常感谢他,谢谢

1 个答案:

答案 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

此解决方案建议用于生产部署,您不希望在每次请求时重新生成文档。