如何配置Swagger Codegen 3适配Angular 15并解决代码生成异常
Swagger Codegen 指定Angular 15版本失败及相关问题解决
问题背景
使用Swagger Codegen 3.0.34,尝试将生成的代码适配Angular 15版本。已创建配置文件,能正常生成接口和其他配置,但无法切换到Angular 15。
配置文件内容:
{ "ngVersion": "15..." }
生成代码时遇到两个异常,希望通过指定Angular版本解决:
- 部分生成的模型包含不存在的
modelObject类型 - 编码器文件需要在
encodeKey相关代码前手动添加override关键字,即:override encodeKey....
使用的代码生成命令:
java -jar C:/tools/swagger-codegen-cli-3.0.34.jar generate -i http://petstore.swagger.io/v2/swagger.json -l typescript-angular -o C:/swagger-code-gen/3-6-23-eight -Dmodels=true -DmodelDocs=false -DmodelTests=false -c C:/tools/angular-swagger-option.json
更新1:部分问题解决,新问题出现
通过修改typescript-angular模板并使用-t参数指定模板,解决了encodeKey需要手动加override的问题。但新出现问题:部分生成的模型和API尝试导入不存在的objectModel,而Swagger定义中并未包含该模型。
更新2:最终解决方案
将Swagger Codegen升级至3.0.41版本后,所有问题均已解决。
内容的提问来源于stack exchange,提问作者bjwhip
相关产品推荐
相关产品推荐

