首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows操作系统上通过npm安装swagger-codegen

在Windows操作系统上通过npm安装swagger-codegen
EN

Stack Overflow用户
提问于 2017-03-15 21:12:44
回答 2查看 3.9K关注 0票数 4

我已经通过Java Command使用https://github.com/swagger-api/swagger-codegen生成了我的客户机typescript/angular2语言。

但是我想使用npm命令而不是java命令来生成我的客户端typescript/angular2。

示例:

代码语言:javascript
复制
  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

我用的是windows 8.1操作系统。我没有找到可以与npm一起安装的swagger-codegen命令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-17 18:26:27

我已经找到了一种解决方案,可以在没有java命令的情况下使用TypeScript命令为Angular 2节点生成客户端API。

从swagger.yaml生成typescript angular客户端的示例节点脚本。请注意,我们使用http。如果使用https,请求无法验证第一个证书(在撰写本文时)

这是app.js

代码语言:javascript
复制
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'}));
    });
});

我刚刚将变量language设置为'typescript-angular2‘。在那之后,node app.js

有关可用客户端语言的列表,请访问http://generator.swagger.io/api/gen/clients

有关更多详细信息,请访问https://github.com/swagger-api/swagger-codegen/wiki/FAQ部分生成器服务

票数 2
EN

Stack Overflow用户

发布于 2019-01-22 21:59:37

你在找这样的东西吗?

代码语言:javascript
复制
npm install @openapitools/openapi-generator-cli -g
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42810851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档