大摇大摆的套餐

swagger-bundler的Python项目详细描述


这是一个单独的工具,用于绑定夸张的定义。

  • 仅限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

一。如何使用

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有两个命令。

  • 捆绑
  • concat

捆绑包

这是主要特点。将多个源文件绑定到一个swagger定义文件中。

$ swagger-bundler bundle <file.yaml>

该目标文件的打包机,它可以使用三个特殊的标记。

  • x-bundler-namespace–绑定时,将此值用作前缀字符串。
  • x-bundler-compose–从具有名称空间的其他文件导入
  • x-bundler-concat–从其他文件导入,不带名称空间

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

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

而main.yaml的内容就是这个。

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

运行它。

$ swagger-bundler bundle main.yaml
  • x.yaml、y.yaml中的定义将重命名(使用命名空间)。(例如foo->;zzzfoo)
  • common.yaml中的定义未重命名。(例如,bar->;bar)

example的链接。

合格进口。

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

然后

  • state of x-state.yaml正在最终转换xstate,oxstate
  • y-state.yaml的状态将最终转换为ystate,oystate

example(qualified import)

的链接

浓度

这只是concatnate文件。

$ 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

  • 使用提升定义挂钩的fix titlize函数无效。(foobar->;foobar)

0.1.8

  • 修复合格的导入错误(从0.1.7开始)

0.1.7

  • 恢复上下文缓存
  • 在合并为“无”时修复值错误

0.1.6

  • 修复错误(提升数组的定义)

0.1.5

  • 添加Postscript.lifting_definition(hook)

0.1.4

    <添加额外信息,加上,加上(0,4)C,勾,勾

0.1.3

  • 错误修复

0.1.2

  • 添加孤立引用检查

0.1.1

  • 更多挂钩(添加名称空间,验证)

0.1

  • 后记钩子

0.0.7

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

0.0.6

  • 修复案例:ctx.data有“responses”数据(但值为none)
  • 修复监视生成的文件

0.0.5

  • 支持监视选项

0.0.4

  • filenot上的温和警告消息发现错误
  • 使用–namespace选项捆绑命令
  • 合格进口(例如x-bundler-compose,f为foo.yaml)

0.0.3

  • 添加自述文件和示例
  • 支持json格式(输入/输出)

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

推荐PyPI第三方库


热门话题
图形Java仿射变换以旋转通用路径   IntelliJ IDEA中的java代码标记为编译器错误,在Eclipse中可以正常工作   java ArrayList的containsAll返回了错误的值   如何在安卓中的片段活动中添加java代码   java通过使用netbeans调用jbutton,将带有行的jbutton添加到jtable中   java在更新arrayAdapter/listView之前更新最终列表   java如何在另一个项目中导入包含AspectJ方面和注释的项目   为什么我的java布尔测试总是失败?   Eclipse中的java自动激活   在Bluetooth for Java(更具体地说是Android)之上是否有TCP/IP协议栈实现?   java Android Studio通过intent传递ArrayList并填充ListView