首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger-php -如何以编程方式添加路径?

Swagger-php -如何以编程方式添加路径?
EN

Stack Overflow用户
提问于 2017-09-12 11:38:48
回答 1查看 362关注 0票数 3

我正在使用Swagger编写文档。从注解生成json文件效果很好。此外,我希望以编程方式向生成的json文件添加更多路径。

我发现Swagger类有merge方法,所以我尝试反序列化我的json字符串,并像下面这样合并到Swagger对象中,但没有成功。

代码语言:javascript
复制
$swagger = \Swagger\scan($appDir);
$jsonString = json_encode([
        "path" => [
            "path" => "/api/task/{taskName}",
            "parameter" => [
                "ref" => "#/parameters/taskName"
            ]
        ],
    ]);
$objectToMerge = (new Serializer())->deserialize($jsonString, 'Swagger\Annotations\Path');
$swagger->merge($object);

我不知道我这样做是对的。有没有人用过Swagger merge方法或mergeProperties方法?或者有其他方法来实现我的目标?

EN

回答 1

Stack Overflow用户

发布于 2017-09-12 16:07:41

好了,我找到了问题所在。

这个问题是因为我放入反序列化方法的json字符串作为第一个参数不正确。

json字符串的格式不是OpenAPI规范的。我认为Swagger-php内部使用了这种结构。

下面是正确的json结构,它正在工作。

代码语言:javascript
复制
[
    "path" => "/api/task/{taskName}",
    "post" => [
        "path" => "/api/task/{taskName}",
        "tags" => ['test'],
        "summary" => "summary test",
        "description" => "description test",
        "produces" => ['application/json']
    ]
]

希望这对有麻烦的人有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46167521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档