首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swagger-codegen或openapi生成器PHP版本

swagger-codegen或openapi生成器PHP版本
EN

Stack Overflow用户
提问于 2021-11-26 01:40:06
回答 1查看 1.5K关注 0票数 3

的实际问题:是否可以选择PHP (5.6,7.1,7.2,.)生成代码?

我从swagger.json那里得到了一个https://api.otto.market/docs

它应该是一个openapi.json左右,因为文件包含"openapi": "3.0.3",__。总之..。

到目前为止,我发现他们(swagger和openapi生成器)似乎有代码生成的模板。

这些模板是用语言编写的,供使用中的版本使用。

F.e.这个(https://github.com/OpenAPITools/openapi-generator#16---docker)

代码语言:javascript
复制
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate \
-i /local/path/to/swagger.json \
-g php \
-o /local/path/to/generated/code/

创建一个composer.json

代码语言:javascript
复制
...
"require": {
    "php": "^7.3 || ^8.0",
    ...
},
...

我现在可以使用模板并更改需求。

但我认为这不是代码生成器的目标。

有关模板添加到底部的信息。

我猜应该有为其他PHP版本编写的模板。

但我该怎么选择呢?

有吗?

斯威格:正如我所读到的,斯威格是第一位的,而openapi生成器是叉子。

所以我试着昂首阔步:

代码语言:javascript
复制
docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
-i /local/path/to/swagger.json \
-l php \
-o /local/path/to/generated/code/

Swagger为PHP5.5创建了代码(从生成的composer.json开始)。

但是它会带来警告,生成的代码看起来“坏了”。

实际上,我并不奇怪,因为文件是为openapi": "3.0.3__创建的。

但我看到的是: swagger有用于PHP5.5的模板。

我个人目前的结论是:

我可以快速生成代码。对于一个我并不真正知道的API。

但是,如果我不能改变语言版本,它对我有什么帮助呢?

F.e.我需要一个API客户在两个项目。

一个是PHP7.1,另一个是7.3。我该怎么解决这个问题?

有人要处理这件事吗?或者有什么想法?

信息

模板:如何使用模板:

调用docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli author template -g php -o /local/templates/将所有模板保存到路径templates/

那你就可以了。把composer.mustache拷贝到f.e。deploy/templates/并改变它。

在生成代码时,您可以使用-t /local/deploy/templates来使用,您的更改了模板。示例:

代码语言:javascript
复制
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate \
-i /local/path/to/swagger.json \
-g php \
-o /local/path/to/generated/code/ \
-t /local/deploy/templates
EN

回答 1

Stack Overflow用户

发布于 2021-11-29 16:55:00

OpenAPI生成器的旧版本 (例如3.0.0,4.0.0)支持旧的PHP版本。

要在OpenAPI生成器CLI版本之间轻松切换,您可能需要使用用于OpenAPI生成器的NPM包装器

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

https://stackoverflow.com/questions/70118794

复制
相关文章

相似问题

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