← Back to nodox
express-oas-generator Alternative
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
- Run
npm install nodox-cli - Remove
expressOasGenerator.handleResponses()andhandleRequests()calls - Add
app.use(nodox(app))after your body parser - Optionally wrap validators with
validate(schema)for confirmed schemas - Visit
/__nodox: all routes documented immediately