簡體   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