I have over 5k lines long swagger.json file describing hundreds of paths and objects. I want to generate a TypeScript client (using swagger-codegen) using only a part of the endpoints. I don't want the generated TypeScript application to contain classes or interfaces connected with unused part of the swagger.json
How to filter out only a part of the Swagger documentation, describing the specified group of paths (e.g. all paths starting with /api/*
)? Especially I want the filtered JSON to not contain definitions
for unused data structures.
Finally, we created swagger-json-filter – a command-line tool allowing filtering a Swagger documentation. It can be easily used along other commands in bash:
cat input.json | swagger-json-filter --include-paths="^\/api\/.*" > output.json
The tool is performing a logic needed to filter out undesired definitions (nested also) from the output.