swagger-typescript-api如何移除请求方法名后的请求类型后缀
移除swagger-typescript-api生成方法的请求类型后缀方案
swagger-typescript-api默认会根据HTTP请求方法自动给生成的接口方法追加对应语义后缀,比如POST请求追加Create、PUT请求追加Update、GET请求追加List/Get、DELETE请求追加Delete,你可以通过官方提供的内置配置直接关闭这个默认行为,不需要额外魔改源码:
- 命令行(CLI)调用场景
执行生成命令时追加--method-name-without-suffix参数即可,示例命令:
配置生效后,你举例的swagger-typescript-api -p ./your-swagger-file.json -o ./src/api --method-name-without-suffix/assortmentPOST接口,生成的方法会从原来的Api.assortmentCreate()变为Api.assortment(),不会再自动拼接请求类型对应的后缀。 - Node脚本调用场景
如果你是通过代码调用generateApi方法完成生成,在传入的配置对象中把methodNameWithoutSuffix字段设为true即可,示例代码:const { generateApi } = require('swagger-typescript-api'); const path = require('path'); generateApi({ input: path.resolve(__dirname, './your-swagger-file.json'), output: path.resolve(__dirname, './src/api'), // 关闭方法名自动追加请求类型后缀的逻辑 methodNameWithoutSuffix: true, });
注意:如果同个接口路径下绑定了多个不同HTTP方法的接口(比如
/assortment同时存在GET、POST两个方法),关闭后缀后会出现方法名重名冲突,这种情况你可以配合库提供的命名钩子自定义方法名生成规则,根据业务语义给方法加自定义标识,避免生成的代码出现方法覆盖问题。
内容的提问来源于stack exchange,提问作者LukasGur
相关产品推荐
相关产品推荐

