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

时间:2018-05-04 00:33:37

标签: swagger-codegen

我使用swagger-codegen基于我的Web API生成SDK,生成的源文件包含以下标题:

/* 
 * [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配置为不生成标题的最后3行?

1 个答案:

答案 0 :(得分:3)

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

在此处找到您所用语言的模板:
https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen/src/main/resources

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

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

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

实施例

如果是csharp生成器,则标题为comes from

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

并且有类似的标题:

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

将这3个文件下载到C:\MyTemplates,然后从中删除不需要的行。然后使用-t C:\MyTemplates运行生成器以使用没有该标头的自定义模板。