Skip to main content

招摇模式捆绑器

项目描述

这是捆绑 swagger 定义的单独工具。

  • 仅限 python3(python3.5+ 更好)

设置

$ pip install "swagger-bundler[validation]"

或者

$ pip install -e git+git@github.com:podhmo/swagger-bundler.git@master#egg=swagger_bundler

入门

  1. 生成你的配置文件

  2. 使用它

0. 生成你的配置文件

swagger-bundler 需要配置文件才能使用。所以,首先,你必须生成配置文件。

$ swagger-bundler config --init
generate ~/venv/web/work/swagger-bundler.ini.

寻找配置文件的策略,如下。

您当前的工作目录是~/venv/web/work/。然后,

  1. 找到~/venv/web/work/swagger-bundler.ini

  2. 找到~/venv/web/swagger-bundler.ini

  3. 找到~/venv/swagger-bundler.ini

  4. 找到~/swagger-bundler.ini

未找到配置文件,则查找~/.swagger-bundle.ini

1.如何使用

Usage: swagger-bundler [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  bundle    bundles many source files into single file
  concat    concatnates many swagger-definition files
  config    show config
  validate  validates via swagger-2.0 spec

Swagger-bundler 有两个命令。

  • 连接

这是主要特点。将许多源文件捆绑到一个 swagger-definition 文件中。

$ swagger-bundler bundle <file.yaml>

swagger-bundler 的目标文件,它可以使用三个特殊标记。

  • x-bundler-namespace – 捆绑时,使用此值作为前缀字符串。

  • x-bundler-compose – 从其他具有命名空间的文件中导入

  • x-bundler-concat – 从没有命名空间的其他文件导入

例如。当前工作目录的结构如下,

.
├── main.yaml
└── parts
    ├── common.yaml
    ├── x.yaml
    └── y.yaml

main.yaml 的内容是这样的。

x-bundler-namespace: ZZZ
x-bundler-compose:
  - ./parts/x.yaml
  - ./parts/y.yaml
x-bundler-concat:
  - ./parts/common.yaml

并运行它。

$ swagger-bundler bundle main.yaml
  • x.yaml、y.yaml 中的定义被重命名(带有命名空间)。(例如 foo -> ZZZFoo)

  • common.yaml 中的定义不会被重命名。(例如酒吧 -> 酒吧)

示例的链接。

合格的进口。

x-bundler-namespace: O
x-bundler-compose:
  - ../parts/x-state.yaml as X
  - ../parts/y-state.yaml as Y

然后

  • x-state.yaml 的状态正在转换 XState,最终转换为 OXState

  • y-state.yaml 的状态正在转换 YState,最终转换为 OYState

示例链接(合格导入)

连接

这只是连接文件。

$ swagger-bundler concat [file1.yaml] [file2.yaml] ...

附录:

  • 挂钩配置。

  • 支持观看选项。

挂钩配置

挂钩配置示例。

观看选项

# installed with [watch]
$ pip install "swagger-bundler[watch]"
$ swagger-bundler bundle --watch "*.yaml" --outfile="/tmp/output.yaml" src.yaml

0.1.10.4

  • 修复 deref 实现

0.1.10.1

  • 修复 deref 实现

0.1.10

  • 添加负载钩

  • (添加 deref 示例)

0.1.9

  • 修复 titleize 函数在使用提升定义钩子时无效。(fooBar -> Foobar)

0.1.8

  • 修复合格的导入错误(自 0.1.7 起)

0.1.7

  • 恢复上下文缓存

  • 与 None 合并时修复 ValueError

0.1.6

  • 修复错误(提升阵列上的定义)

0.1.5

  • 添加 postscript.lifting_definition(hook)

0.1.4

  • 在前缀(add_namespace)后记钩子上添加额外信息,exposed_predicate

0.1.3

  • 错误修复

0.1.2

  • 添加孤儿参考检查

0.1.1

  • 更多钩子(add_namespace,验证)

0.1

  • postscript_hook

0.0.7

  • 前缀目标响应,定义 - >响应,定义,参数

0.0.6

  • 修复案例:ctx.data 有“响应”数据(但值为无)

  • 修复观看生成的文件

0.0.5

  • 支持观看选项

0.0.4

  • FileNotFoundError 上的温和警告信息

  • 带有–namespace选项的 bundle 命令

  • 合格的导入(例如 x-bundler-compose with 'foo.yaml as F')

0.0.3

  • 添加自述文件和示例

  • 支持json格式(输入/输出)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

swagger-bundler-0.1.10.6.tar.gz (20.4 kB 查看哈希

已上传 source

内置分布

swagger_bundler-0.1.10.6-py2.py3-none-any.whl (25.9 kB 查看哈希

已上传 3 5