能否配置swagger-codegen生成的源码文件头?可移除指定行?
配置Swagger Codegen自定义文件头的方法
当然可以配置啦!Swagger Codegen的生成逻辑是靠模板驱动的,所以要调整文件头,核心就是修改对应的模板文件,或者通过参数动态定制,下面给你详细说两种需求的实现方法:
移除文件头的最后三行
要去掉OpenAPI spec version、Contact、Generated by这三行,你需要修改对应语言的模板文件:
- 首先找到Swagger Codegen对应语言的模板目录,比如生成Java SDK的话,模板默认在
src/main/resources/Java路径下,里面的api.mustache、model.mustache等文件分别对应API类和模型类的生成模板 - 打开这些模板文件,找到文件头注释部分,删掉包含
OpenAPI spec version: ...、Contact: ...、Generated by: ...的那三行 - 生成SDK时,通过
-t参数指定你修改后的模板路径,比如:swagger-codegen generate -i your-api-spec.yaml -l java -t /path/to/your/custom-templates -o output-dir
自定义生成的文件头
如果想要完全自定义文件头内容,同样通过修改模板来实现:
- 打开对应语言的模板文件,直接替换文件头注释的内容为你需要的格式,比如固定的项目名称、版权声明等
- 要是想动态传递变量(比如不同项目用不同的版权信息),可以在模板里使用占位符,比如:
然后在生成时通过/* * {{projectName}} * * {{copyright}} */--additional-properties参数传递这些变量的值:swagger-codegen generate -i your-api-spec.yaml -l java -t /path/to/your/custom-templates --additional-properties projectName="My Awesome Project",copyright="Copyright 2024 My Company" -o output-dir - 注意:不同语言的模板变量可能略有差异,你可以参考Swagger Codegen默认模板里的变量名来调整。
内容的提问来源于stack exchange,提问作者Toto
相关产品推荐
相关产品推荐

