【问题标题】:Is it a way to generate endpoint api basePath as variable with OpenAPI Generator?是否可以使用 OpenAPI Generator 将端点 api basePath 生成为变量?
【发布时间】:2022-12-20 01:17:43
【问题描述】:
我正在使用 OpenAPI Generator cli 从 template.yml 生成端点 api 服务
在我的模板中,我在字符串中定义了服务器 url,我想作为变量传递,因为我有 dev env & prod env 和不同的 url。
openapi: 3.0.0
servers:
- url: 'http://localhost:8080/MyApiCustom'
我可以在 cli 命令 openapi generate 中传递选项,它可以在模板中使用,或者在模板中使用 env 变量吗?
感谢帮助 !
【问题讨论】:
标签:
angular
typescript
openapi-generator
openapi-generator-cli
【解决方案1】:
是的,这是完全可能的。 OpenApi 3.x 支持server templating。例如:
servers:
- url: http://{env}:{port}/{path}
variables:
env:
default: prod
description: The current environment
port:
enum:
- '8080'
- '8098'
default: '8080'
path:
default: MyApiCustom
然后,您可以使用以下 cli 参数在您的 cli 中定义这些变量:
--server-variables=env=dev,port=8098,path=devApi
此功能是从 2019 年起在 this commit 中添加的。
注意:您必须在 OAS 文件中指定默认值。