← Back to nodox

express-oas-generator Alternative
No Missing Routes

express-oas-generator learns your API shape from live traffic, so routes only appear after someone hits them. nodox-cli reads schemas at registration time. Every route is documented before the first request.

Try nodox-cli free →

The "missing routes" problem

The most common complaint with express-oas-generator is that routes are missing or have incomplete schemas. This happens because it relies on intercepting live traffic to learn what parameters a route accepts. If a route hasn't been hit, it won't appear in the docs.

The root cause: Traffic-based interception means your documentation is only as complete as your test coverage and real-world usage. Brand-new routes, rarely-used endpoints, and edge-case params are invisible until someone actually calls them.

nodox-cli solves this at the source: it reads your validator schemas (validate(), Zod, Joi, express-validator) at route-registration time. Routes appear in the docs the moment your server starts, with full schema information, before any traffic arrives.

Feature comparison

Feature nodox-cli express-oas-generator
Routes appear before first request ✓ Yes — at startup ✗ No — traffic required
Reads Zod schemas ✓ Yes ✗ No
Reads Joi schemas ✓ Yes ✗ No
Reads express-validator chains ✓ Yes ✗ No
Zero config ✓ Yes ~ Requires init function setup
Interactive playground ✓ Yes — built-in ~ Via Swagger UI only
Test suite seeding ✓ Yes — Jest & Vitest ✗ No
Chain builder ✓ Yes ✗ No
OpenAPI export (JSON + YAML) ✓ Yes ✓ Yes
Active maintenance ✓ Yes ~ Sporadic

Migration from express-oas-generator

  1. Run npm install nodox-cli
  2. Remove expressOasGenerator.handleResponses() and handleRequests() calls
  3. Add app.use(nodox(app)) after your body parser
  4. Optionally wrap validators with validate(schema) for confirmed schemas
  5. Visit /__nodox: all routes documented immediately

Get started

npm install nodox-cli npx nodox-cli init Full setup guide →