Skip to content

Code Generation

Integrate ng-openapi into your development.

Development Workflow

Package.json Scripts

json
{
  "scripts": {
    "generate:client": "ng-openapi -c openapi.config.ts",
    "dev": "npm run generate:client && ng serve",
    "build": "npm run generate:client && ng build",
    "generate:watch": "nodemon --watch swagger.json --exec 'npm run generate:client'"
  }
}

Pre-build Generation

json
{
  "scripts": {
    "prebuild": "npm run generate:client",
    "build": "ng build"
  }
}

API Spec Fetching

bash
# Download spec before generation
curl https://api.example.com/swagger.json > swagger.json
ng-openapi -c openapi.config.ts

Package.json with Fetch

json
{
  "scripts": {
    "fetch:spec": "curl https://api.example.com/swagger.json > swagger.json",
    "generate:client": "npm run fetch:spec && ng-openapi -c openapi.config.ts"
  }
}

Generated Code Structure

src/client/
├── models/
│   └── index.ts          # TypeScript interfaces
├── services/
│   ├── index.ts          # Service exports
│   └── pets.service.ts   # Generated service
├── tokens/
│   └── index.ts          # Injection tokens
├── utils/
│   ├── date-transformer.ts
│   └── file-download.ts
├── providers.ts          # Provider functions
└── index.ts              # Main exports

Released under the MIT License.
This site is powered by Netlify