jester => swagger => postman
This hybrid package transforms routes from Jester to Swagger JSON. The purpose is to generate a Swagger JSON file that can be imported directly into Postman.
Run jester2swagger
on your Jester routes and voila, you have a Swagger JSON
file that can be imported directly into Postman.
Okay, this is not a 100% compliant with the Swagger specification, but it works fine for generating a Swagger JSON file that can be imported without any hassle into Postman.
You can just print directly to stdout and enjoy your Swagger JSON:
$ jester2swagger -f routes/apiRoutes.nim
Create a single Swagger JSON file from a single Jester route file in the folder swagger/folder
-
$ jester2swagger -f routes/apiRoutes.nim -o swagger/folder
The key here is the *
wildcard. All files within the folder will parsed.
$ jester2swagger -f routes/* -o swagger/folder
An output file can found in the tests
folder named test_routes_swagger.example.json
.
- Files containing Jester router or Jester routes
GET
,POST
,DELETE
andHEAD
routes is supported.- Specified Http-responses (
resp Http204
) or indirected (redirect "/"
,resp "OK"
) - Nim comments just below the route (
## Double hashtags are supported
) - In-path parameters are supported (
/users/@id
) - In-query parameters are supported (
/users?id=value
) - In-body parameters are supported (
@"userID"
)
import jester2swagger
swagIt("tests/test_routes.nim", baseurl="nim-lang.org", print=true)
$ ./jester2swagger --help
Usage:
jester2swagger {options}
OPTIONS
-h, --help Print this help message
-f, --filepath Full path to the file to parse or * for whole directory
-b, --baseurl Base url for the swagger routes
-p, --print Print the swagger routes to stdout
-j, --json Save output to JSON file
-o, --output Output file for JSON file (defaults to current directory)
CONFIG
Convert Jester-route files to Swagger 2.0 JSON. JSON is partly compliant
with the Swagger 2.0 specification but allows for direct import in Postman.
If `filepath` includes an asterix (*) all files in the directory will be
converted (only available for output to file). Each file will generate it's
own JSON file (aka Postman collection).
Output is written to the current directory unless `output` is specified.
`GET`, `POST`, `DELETE` and `HEAD` routes is supported.
INFO Swagger is making jokes