Skip to content

options

Type: object | Required

Object containing various options to customize the code generation process.

Usage

typescript
// openapi.config.ts
import { GeneratorConfig } from 'ng-openapi';

const config: GeneratorConfig = {
  options: {
    dateType: 'Date',
    enumStyle: 'enum',
    generateServices: true,
    generateEnumBasedOnDescription: false,
    customHeaders: {
      'Accept': 'application/json',
      ... // other headers
    },
    responseTypeMapping: {
      'application/pdf': 'blob',
      ... // other mappings
    },
    ... // other configurations
  }
};

export default config;

Options at a Glance

OptionTypeRequiredDefaultDescription
dateType'string' | 'Date'How date/date-time fields are typed (and whether the date interceptor is generated)
enumStyle'enum' | 'union'Emit TypeScript enums or literal-union types
generateServicesbooleantrueSet false to generate models only
validation{ response?: boolean }undefinedAdds a parse hook to service methods for runtime response validation
generateEnumBasedOnDescriptionbooleanfalseRead enum member names from JSON-encoded descriptions
customHeadersRecord<string, string>undefinedDefault headers added to every request
emitAcceptHeaderbooleantrueSend an Accept header derived from each operation's response content types
responseTypeMappingRecord<string, ResponseType>undefinedPin the Angular responseType per content type
customizeMethodName(operationId) => stringundefinedDerive method names from operationIds
useSingleRequestParameterbooleanfalseOne request object per method instead of positional parameters
serviceDecorator'injectable' | 'service''injectable'Emit Angular 22+'s @Service() instead of @Injectable({ providedIn: 'root' })
namingNamingOptionsundefinedPrefix/suffix decoration of generated service, resource and model identifiers
modelFileStructure'single' | 'per-type''single'Keep all models in one models/index.ts or write one file per schema

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