openapi规范的扩展工具

openapi-ext-tools的Python项目详细描述


OpenAPI扩展工具

OpenAPI规范的扩展工具

将多个yaml文件捆绑到单个openapi.yaml中

$ openapi-spec-cli --help
usage: openapi-spec-cli [-h] --spec-path SPEC_PATH
                        [--bundled-spec-path BUNDLED_SPEC_PATH][--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --spec-path SPEC_PATH
                        set path to openapi spec file
  --bundled-spec-path BUNDLED_SPEC_PATH
                        set path to bundled spec file
  --verbose             set verbose mode

如何使用

当前,捆绑仅支持组件对象。

tests/fixtures/simple/openapi.yaml是openapi规范文件,模式的一部分在tests/fixtures/simple/schemas.yaml中定义。

...content:application/json:schema:$ref:'schemas.yaml#/components/schemas/User'...

例如,user模式就是这样定义的。

components:schemas:User:type:objectproperties:id:type:integerformat:int64username:type:stringfirstName:type:stringlastName:type:stringbirthday:type:stringformat:dateemail:type:stringpassword:type:stringphone:type:stringuserStatus:type:integerdescription:User Statusformat:int32

运行openapi-spec-cli来捆绑yaml文件并创建单个openapi.yaml

$ openapi-spec-cli --spec-path tests/fixtures/simple/openapi.yaml
2019-05-11 11:56:12,337 openapi.spec.ext INFO wrote bundled spec file to "bundled_openapi.yaml"2019-05-11 11:56:12,402 openapi.spec.ext INFO validating bundled spec: OK

您可以在当前目录中确认bundled_openapi.yaml。然后,将schemas.yaml中的所有模式移动到bundled_openapi.yaml,并且$ref字段也将引用为本地引用。

...content:application/json:schema:$ref:'#/components/schemas/User'...

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试