繁体   English   中英

Swagger-Codegen:如何将所有文件合并到一个文件中以进行客户端代码生成

[英]Swagger-Codegen: How do I consolidate all files into one file for Client-Code-Generation

我刚刚开始使用Swagger和NodeJS。 我能够将Swagger实现到我的NodeExpress应用程序,并且能够准确地生成带有Swagger-Codegen(Typescript-Angular)的typescript-client-code。

我遇到的一个问题是生成的代码分散了很多不同的文件。 我希望它只输出一个文件api.ts ,它包含API调用和接口/模型的所有内容。

我一直在寻找解决这个问题的方法,因为随着后端的增长,很难读取和维护生成的客户端代码。

任何建议或指示将不胜感激。

节日快乐! 谢谢

编辑:我一直在寻找这个问题的答案,但仍然没有找到答案。 我目前正在开发一个使用ASP.NET Core的项目,他们有NSwag ,它可以实现我想用Node Swagger实现的目标。

TL; DR

你可以编译所有的文件到一个单一的*.ts文件在显示这个职位

持续集成方法

Swagger代码生成器简化了维护,因为它允许您根据连续集成进行思考。

你不应该担心代码审查或美学(因为它是一个机器生成的代码),但是关于:

  • API版本控制
  • 函数,方法和类签名
  • 文档

如果您正在使用诸如Jenkins或Ansible之类的CI系统,则可以自动将库部署到私有NPM帐户 (用于JS和TS)或Maven服务器 (用于Java和Kotlin)。

私人Maven

保持程序包版本号不断更新将允许IDE正确地提示用户有关API的更新。

在此输入图像描述

Swagger使用Mustache模板生成代码。 为了进行更简单的更改,您可以简单地创建其中一个内置模板的副本并对其进行修改。

然后你可以像这样使用你修改过的模板:

swagger-codegen-cli generate -t path/to/template/dir/ -i spec.json

但是,输出目录结构不能仅使用模板进行更改。 为此,您需要一个自定义codegen模块。 您可以创建自己的或修改其中一个内置的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM