2017-03-15 2 views
1

Java 명령을 통해 https://github.com/swagger-api/swagger-codegen을 사용하여 클라이언트 typescript/angular2 언어를 생성했습니다.Windows OS에서 npm을 통해 swagger-codegen 설치

하지만 Java 클라이언트 명령이 아니라 npm 명령을 사용하여 클라이언트 typescript/angular2를 생성하고 싶습니다.

예 :

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 윈도우 8.1 OS를 사용. swagger-codegen 명령을 npm과 함께 설치하지 못했습니다.

+1

@suraj의 자신감-JS 아이오와 동적 JS API 클라이언트가 아닌 코드 생성기를. –

+0

@ mahdi-kallel JAR 대신 NPM 모듈을 사용하여 코드를 생성하려는 이유에 대해 자세히 알려 줄 수 있습니까? –

+0

'npm'은 주로 js 라이브러리로 구성되며 모든 스크립트는 javascript를 처리합니다. 그렇다면 NPM을 사용하여 Java 라이브러리로 생성한다는 것은 무엇을 의미합니까? –

답변

0

java 명령없이 node 명령을 사용하여 angular2 typescript에 대한 클라이언트 API를 생성하는 해결책을 찾았습니다.

swagger.yaml에서 typescript 각도 클라이언트를 생성하는 노드 스크립트 예제. 우리는 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'})); 
    }); 
}); 

그냥 내가 타이프 라이터 - angular2와 변수 언어를 inisialise입니다

첫 번째 인증서를 확인할 수 없습니다. 사용 가능한 클라이언트 언어의 node app.js

목록 후 은 http://generator.swagger.io/api/gen/clients

그리고 자세한 내용은 방문 : https://github.com/swagger-api/swagger-codegen/wiki/FAQ 섹션 생성기 서비스

관련 문제