是否可以配置swagger-codegen生成的源代码文件header?

Is it possible to configure the source code file header generated by swagger-codegen?

我正在使用swagger-codegen生成基于我的WebAPI的SDK,生成的源文件包含以下内容header:

/* 
 * [MY PROJECT NAME]
 *
 * [MY COPYRIGHT]
 *
 * OpenAPI spec version: 1.0.0 - Beta
 * Contact: [MY EMAIL]
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */

是否可以将 swagger-codegen 配置为不生成 header 的最后 3 行?

是的,这是可能的。输出格式使用 Mustache 模板定义。

在此处查找适用于您的语言的模板:

下载您要更改的模板并根据需要进行修改。然后 运行 生成器使用 -t 参数指定自定义模板的路径:

java -jar swagger-codegen-cli-2-4-18.jar generate
  -i http://petstore.swagger.io/v2/swagger.json
  -l csharp
  -o PetstoreCSharpClient
  -t path/to/MyTemplates    <------

将使用在 -t 文件夹中找到的任何自定义模板,而不是相应的标准模板。在 -t 文件夹中找不到的模板将默认为标准模板。

例子

对于 Codegen 2.x (OAS2) 中的 csharp 生成器,问题中的 header comes from:

modules/swagger-codegen/src/main/resources/csharp/partial_header.mustache

并且有相似的 headers 在:

modules/swagger-codegen/src/main/resources/csharp/Project.mustache
modules/swagger-codegen/src/main/resources/csharp/TestProject.mustache

将这 3 个文件下载到 C:\MyTemplates,并从中删除不需要的行。然后 运行 带有 -t C:\MyTemplates 的生成器使用没有 header.

的自定义模板