dolanmiu / swagger-nodegen-cli

A convenience node package to make the swagger-codegen-cli.jar availabe in the node/npm environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

swagger-nodegen-cli

A convenience package for the node/npm environment that wraps the Java library swagger-codegen-cli

Prerequisites

The following dependencies would need to be installed on your machine before running the Swagger Codegen.

  • Java, version 7 or higher
  • The Java execution path must be on your environment variable PATH

Important Note

The current version of swagger-codegen-cli-3.x.x supports fewer languages ​​than the older versions (2.x.x):

Available languages: [aspnetcore, csharp, csharp-dotnet2,
 dynamic-html,html, html2, java, jaxrs-cxf-client, jaxrs-cxf,
 inflector, jaxrs-cxf-cdi, jaxrs-spec, jaxrs-jersey, jaxrs-di,
 jaxrs-resteasy-eap, jaxrs-resteasy, spring, nodejs-server,
 openapi, openapi-yaml, kotlin-client, kotlin-server, php,
 python, scala, scala-akka-http-server, swift3, swift4,
 typescript-angular]

Installation

Npm package for use with swagger-codegen-cli-3.0.24.jar

npm install -g swagger-nodegen-cli

Npm package for use with swagger-codegen-cli-2.4.4.jar

npm install -g swagger-nodegen-cli@2.4.4

Usage Version 3.0.24 (Version 2.4.4)

Same as swagger-codegen-cli.jar without java -jar ... The main command is sc, swagger-codegen-cli or swagger-nodegen-cli

usage: sc <command> [<args>]

usage: swagger-codegen-cli <command> [<args>]

usage: swagger-nodegen-cli <command> [<args>]

Examples

Display help, extended help, version and available languages

# help, extended help
sc -h
sc generate -h

# Version
sc version

# Available languages
sc
sc langs

Display detailed generation config options for a specific language

sc config-help -l typescript-angular

Generate openapi.json (v3) from swagger.json (v2) or openapi.yaml (v3)

sc generate -l openapi -i <path/to/[swagger.json|openapi.yaml]> -o <out folder>

Generate openapi.yaml (v3) from swagger.json (v2) or openapi.json (v3)

sc generate -l openapi-yaml -i <path/to/[swagger|openapi].json> -o <out folder>

Generate a typescript-angular (4.3) service from a swagger-file

Features

  • Generates an Angular service per defined swagger resource
  • Generates models with custom property name flavours: camelCase, PascalCase, snake_case ... (see sc config-help -l typescript-angular)
  • Base path injection with InjectionToken
sc generate -i swagger.json -l typescript-angular -o src/services

Integration into an Angular >= 4.3 application


|-- angular-application
|-- src
|   |-- app
|   |   |-- app.component.html
|   |   |-- app.component.ts
|   |   |-- app.component.css
|   |   |-- app.module.ts
|   `-- services
|       |-- ...

./src/app/app.module.ts

import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { BrowserModule }  from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { ApiModule, BASE_PATH } from '../services';

@NgModule({
  imports: [
    BrowserModule,
    HttpClientModule,
    ApiModule
  ],
  declarations: [
    AppComponent
  ],
  providers: [
    { provide: BASE_PATH, useValue: 'http://localhost:10010' }
  ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

Generate a nodjs-server skelton from a swagger-file

sc generate -i swagger.yaml -l nodejs-server -o my-server

Links

About

A convenience node package to make the swagger-codegen-cli.jar availabe in the node/npm environment

License:Apache License 2.0


Languages

Language:JavaScript 100.0%