我找到了一個解決方案來生成一個沒有java命令但使用節點命令的angular 2 typecript的客戶端API。
用於從swagger.yaml生成打字稿角度客戶端的示例節點腳本。請注意,我們使用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'}));
});
});
只是我inisialise可變語言,打字稿,angular2。 是node app.js
可用的客戶端語言的列表後,只需訪問http://generator.swagger.io/api/gen/clients
而對於更多的細節:https://github.com/swagger-api/swagger-codegen/wiki/FAQ 部分發電機服務
@suraj招搖-JS IA動態JS API客戶端,而不是一個代碼生成器。 –
@ mahdi-kallel你能告訴我們更多關於你爲什麼要用NPM模塊而不是JAR生成代碼的問題嗎? –
'npm'主要由js庫及其所有腳本處理javascript。那麼使用NPM來生成Java庫意味着什麼? –