chenshuai2144 / openapi2typescript

一个被大范围使用的小工具
322 stars 138 forks source link

生成的api文件中的请求方法第一个参数必定是params,即使没有定义path参数和query参数 #9

Closed huangjq148 closed 3 years ago

huangjq148 commented 3 years ago

https://github.com/chenshuai2144/openapi2typescript/blob/d495f0ef9497da1c8b3c96a78cdaa85b257b74d7/src/serviceGenerator.ts#L624-L636 这个if执行完后,即使url上没有path参数,也会给templateParams对象添加path属性 导致https://github.com/chenshuai2144/openapi2typescript/blob/d495f0ef9497da1c8b3c96a78cdaa85b257b74d7/src/serviceGenerator.ts#L356 拿到的结果是{path:[]}这样的 使得https://github.com/chenshuai2144/openapi2typescript/blob/d495f0ef9497da1c8b3c96a78cdaa85b257b74d7/src/serviceGenerator.ts#L457-L477 中hasParams的值Boolean(Object.keys(finalParams || {}).length)最小为1 最终导致生成的api文件的请求方法参数中必定会有个params参数 https://github.com/chenshuai2144/openapi2typescript/blob/d495f0ef9497da1c8b3c96a78cdaa85b257b74d7/templates/serviceController.njk#L7-L55

huangjq148 commented 3 years ago

是否考虑在if执行完之后,判断如果templateParams['path'].length===0时,删除path属性呢

chenshuai2144 commented 3 years ago

来个pr吧。

chenshuai2144 commented 3 years ago

https://github.com/chenshuai2144/openapi2typescript/pull/10