2017-03-15 16 views
1

Javaコマンドを使用してhttps://github.com/swagger-api/swagger-codegenを使用してクライアントのtypescript/angular2言語を生成しました。Windows OSでswagger-codegenをnpm経由でインストールする

しかし、Javaコマンドではなくnpmコマンドを使ってクライアントtypescript/angular2を生成したいと思います。窓8.1 OSを使用して

npm install swagger-codegen -g 
    swagger-codegen generate -i http://petstore.swagger.io/v2/swagger.json -l 
    typescript-angular2 -o c:\temp\angular2_api_client 

I'am:

例。 npmでインストールするswagger-codegenコマンドが見つかりませんでした。

+1

@surajを闊歩-jsからIAダイナミックJS APIクライアントではなく、コードジェネレータを。 –

+0

@ mahdi-kallel JARの代わりにNPMモジュールを使用してコードを生成する理由をもっと教えてください。 –

+0

'npm'は主にjsライブラリで構成され、すべてのスクリプトはjavascriptを扱います。では、NPMを使用してJavaライブラリを生成することはどういう意味ですか? –

答えて

0

javaコマンドを使用せずにnodeコマンドを使用して、角度2のtypecript用のクライアントAPIを生成するソリューションが見つかりました。

swagger.yamlからtypescript angularクライアントを生成するノードスクリプトの例。 httpを使用することに注意してください。 (これを書いている時点で)、HTTPSを使用している場合、要求はこれがapp.js

var fs = require('fs'); 
var path = require('path'); 
var jsYaml = require('js-yaml'); 
var request = require('request'); 
var unzip = require('unzip2'); 

var codeGenEndpoint = 'http://generator.swagger.io/api/gen/clients'; 
var language = 'typescript-angular2'; 

fs.readFile(path.resolve('swagger.yaml'), 'utf8', function (error, yaml) { 
    if (error) { 
     throw error; 
    } 

    var swaggerObj = jsYaml.load(yaml); 

    var postBody = { 
     spec: swaggerObj, 
     options: { 
      modelPropertyNaming: 'camelCase', 
      apiPackage: 'api.clients.settings', 
      modelPackage: 'api.clients.settings' 
     } 
    }; 

    request.post({ 
     url: codeGenEndpoint + '/' + language, 
     body: JSON.stringify(postBody), 
     headers: { 
      'Content-Type': 'application/json' 
     } 
    }, function(error, response, body){ 
     if (error) { 
      throw error; 
     } 

     if (response.statusCode !== 200) { 
      throw new Error('Response code was not 200. ' + body) 
     } 

     var responseObj = JSON.parse(body); 

     request({ 
      url: responseObj.link, 
      encoding: null 
     }).pipe(unzip.Extract({ path: 'src/client/js/codegen/settingsApi'})); 
    }); 
}); 

はちょうど私がtypescriptです-angular2と変数言語をinisialiseある

最初の証明書を検証することはできません。利用できるクライアント言語のnode app.js

リストの後 はちょうどhttp://generator.swagger.io/api/gen/clients

そして、詳細については訪問:https://github.com/swagger-api/swagger-codegen/wiki/FAQ セクションジェネレータサービス

関連する問題