I've found a solution to generate a client API for Angular 2 TypeScript without java command but using node command.
Example node script to generate typescript angular client from swagger.yaml. Note that we use http. Request cannot verify the first certificate if using https (at the time of writing this)
This is 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'}));
});
});
I just set variable language to 'typescript-angular2'.
After that node app.js
For the list of available client languages just visit http://generator.swagger.io/api/gen/clients
And for more details: https://github.com/swagger-api/swagger-codegen/wiki/FAQ section Generator Service
Answer from mahdi kallel on Stack Overflow
» npm install swagger-codegen
» npm install swagger-js-codegen
» npm install swagger-typescript-codegen
I've found a solution to generate a client API for Angular 2 TypeScript without java command but using node command.
Example node script to generate typescript angular client from swagger.yaml. Note that we use http. Request cannot verify the first certificate if using https (at the time of writing this)
This is 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'}));
});
});
I just set variable language to 'typescript-angular2'.
After that node app.js
For the list of available client languages just visit http://generator.swagger.io/api/gen/clients
And for more details: https://github.com/swagger-api/swagger-codegen/wiki/FAQ section Generator Service
Are you looking for something like this?
npm install @openapitools/openapi-generator-cli -g
» npm install swagger-node-codegen
» npm install swagger-nodegen-cli
» npm install swagger-axios-codegen
» npm install swagger-code-generate
» npm install swagger-codegen-openapi
» npm install small-swagger-codegen
» npm install swagger-codegen-cli
» npm install codegen-swagger-express
» npm install openapi-codegen
» npm install gulp-swagger-codegen
» npm install swagger-code-gen-liquid