.NET5 WebApi返回PascalCase时NSwag生成TS为camelCase如何配置
解决方案
可以配置NSwag生成PascalCase格式的TypeScript类与接口成员,按对应场景操作即可:
场景1:使用NSwagStudio生成
- 打开你的NSwagStudio项目配置,找到「TypeScript Client」配置分组
- 展开「Code Generation」子项,找到TypeScript property name generation mode配置项
- 将该选项的值修改为
Keep(不做大小写转换,直接保留OpenApi规范中的原始命名) - 重新生成代码即可,生成的接口成员会和你现有OpenApi规范中的PascalCase完全一致
如果使用的是Angular专属生成模板,上述配置同样生效,无需额外修改模板内容。
场景2:使用CLI/服务端集成NSwag生成
配置文件方式(nswag.json)
在配置文件的typeScriptGenerator节点下添加propertyNameGenerator配置即可:
{ "runtime": "Net50", "typeScriptGenerator": { "propertyNameGenerator": "Keep", // 其余原有配置保持不变 } // 其余原有配置保持不变 }
服务端集成代码方式
在注册NSwag服务的代码中添加TypeScript生成规则配置:
services.AddOpenApiDocument(doc => { doc.Title = "你的接口文档名称"; }) .Configure<NSwag.CodeGeneration.TypeScript.TypeScriptClientGeneratorSettings>(c => { c.TypeScriptGeneratorSettings.PropertyNameGenerator = new NSwag.CodeGeneration.DefaultPropertyNameGenerator(); });
注:NSwag的TypeScript生成逻辑和后端序列化配置相互独立,默认启用了属性名自动转驼峰的规则,修改上述配置即可关闭自动转换,完全匹配你OpenApi规范中的命名格式。
内容的提问来源于stack exchange,提问作者G. Stoynev
相关产品推荐
相关产品推荐

