NSwag Studio: 选项可将下载的 OpenAPI 规范存储在外部,而不是嵌入到 *.nswag 文件中
**您的功能请求是否与问题有关?请描述。** 当 NSwag Studio 从指定 URL 下载 OpenAPI/Swagger 规范时,它会将完整的 JSON 存储在 documentGenerator.fromDocument.json 中的 .nswag 文件中。从功能上讲,这项功能是可行的,但在实际应用中,由于下载的规范实际上被存储为一个大型内联 JSON 值,因此即使源规范中的微小变化也会在 .nswag 文件中显示为非常大的单行变化。在我们的工作流程中,这尤其具有问题,因为我们的项目存储在 Git 仓库中,并且我们越来越多地使用基于 AI 的工具,例如用于生成提交消息或仓库分析。由于差异不具备细粒度,这些工具需要处理大量不必要的文本,从而显著增加了 token 使用量。此外,这还会使 .nswag 文件变得更大,且更难以审查。 **描述您希望的解决方案** 我希望 NSwag Studio 可选支持将下载的规范存储在外部文件中,而不是直接嵌入到 .nswag 文件中。该外部文件可以通过 .gitignore 忽略,如果需要。在许多情况下,这并不意味着在版本控制中丢失重要信息,因为生成的代码已经反映了更新规范引入的相关变化。此外,或者作为更简单的第一步,如果嵌入的 JSON 以格式化/缩进的方式写入,则 Git 差异将变得更加细粒度且易于阅读。 **描述您已考虑过的替代方案** 一种可能的替代方案是保留当前行为,但将嵌入的 JSON 格式化,而不是将其存储为一个长长的行。这项功能已经可以改进 Git 差异,并减少 AI 基于工具需要处理的无关文本量。另一种工作绕开方法是接受当前行为,并忍受噪声较大的差异,但这在 .nswag 文件定期更新的仓库中变得越来越不方便。 **其他上下文** 除了减少噪声较大的差异和 AI token 使用量,这还将有助于保持 .nswag 文件较小且易于维护。
内容来源: RicoSuter/NSwag