openapi-generator-cli 不从 PHP 文件生成文档

openapi-generator-cli not generating documentation from PHP file

背景:我安装了 composer installed zircote/swagger-php 并安装了 openapi-generator-cli with apt-get.

我不确定我是否尝试正确使用这些工具,但是我一直无法找到任何方向的文档。

我有一个控制器文件,里面有一大堆代码。我想测试是否可以使用打开 api 注释从中生成 json 文件。

这是我的代码示例(我已经删除了不相关的代码块):

<?php

/**
 * @OA\Info(title="My First API", version="0.1")
 */
class Apiv1_LocationController extends App_Controller_API
{
    /* Publicly exposed attributes and the field type for filtering */
    protected $_exported = array('id','created','modified','name','address','phone','external_id','postcode','country','timezone','date_format','lacps','staff_count');
    protected $_schematypes = array(
        'string' => ['name','address','phone','external_id','postcode','country','timezone','date_format'],
        'int'    => ['id','staff_count'],
        'timestamp' => ['created','modified'],
        'complex'=> ['lacps'],
    );
    {more unrelated code...}

    /**
     * @OA\Get(
     *     path="/api/resource.json",
     *     @OA\Response(response="200", description="An example resource")
     * )
     */
    public function getAction()
    {
        {code inside action...}
    }
}

我使用的cli命令:

openapi-generator-cli generate -g php -i <path_to_LocationController>

我收到以下错误:

[main] INFO  o.o.c.ignore.CodegenIgnoreProcessor - No .openapi-generator-ignore file found.
Exception in thread "main" java.lang.RuntimeException: Issues with the OpenAPI input. Possible causes: invalid/missing spec, malformed JSON/YAML files, etc.

这让我相信我错误地使用了 openapi-generator-cli 工具,因为我不希望需要 JSON 或 YAML 文件,我正在尝试生成该文件。

我会继续努力,但如果有人能帮助我意识到我做错了什么或者我对这个工具有何误解,我将不胜感激。

所以我意识到我一直在以完全错误的方式处理这件事。

我使用 zircote/swagger-php 库通过以下命令生成了我需要的 JSON 文件(在我想要生成 JSON 的目录中):

./<path_to_vendor_directory>/vendor/zircote/swagger-php/bin/openapi --pattern "*Controller.php" --output <name_of_file>.json --format json <location_to_search_from_recursively>