Extended tools for openapi spec
Project description
openapi-ext-tools
extended tools for openapi spec
bundle multiple yaml files into single 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
How to use
Currently, bundling only support components object.
The tests/fixtures/simple/openapi.yaml
is openapi specification file and a part of schemas is defined in tests/fixtures/simple/schemas.yaml
.
...
content:
application/json:
schema:
$ref: 'schemas.yaml#/components/schemas/User'
...
For example, User schema is defined like this.
components:
schemas:
User:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
birthday:
type: string
format: date
email:
type: string
password:
type: string
phone:
type: string
userStatus:
type: integer
description: User Status
format: int32
Run openapi-spec-cli
to bundle yaml files and create single 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
You can confirm bundled_openapi.yaml
in current directory. Then, all schemas in schemas.yaml
are moved to bundled_openapi.yaml
and a $ref
field also reffers as Local Reference.
...
content:
application/json:
schema:
$ref: '#/components/schemas/User'
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
openapi-ext-tools-0.5.1.tar.gz
(12.2 kB
view hashes)
Built Distribution
Close
Hashes for openapi_ext_tools-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6ab3bbb4e90c49bb7bb9afef29c687cf8620caabd93a9a1c664139596dff4ad |
|
MD5 | fee5ef3736caa40012f495b4f79473b0 |
|
BLAKE2b-256 | 510cfd994c137416d0554093473598a0efd934674db534eb405120ea3e1df0cb |