-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
swagger插件使用嵌套api失败,但是goctl api 正常能生成接口 #71
Comments
好像是goinstall 没有拉取最新的代码,用以下方式试试?
|
(⎈ |prod-ctx:ticket-system)➜ api git:(master) goctl api plugin -plugin goctl-swagger="swagger -filename rome.json" -api rome.api -dir .
goctl-swagger: /Users/python/Desktop/gllue_pkg/rome-be/api/"v1/v1.api" line 1:0 the nested api does not support import
(⎈ |prod-ctx:ticket-system)➜ api git:(master) goctl-swagger --version
goctl-swagger version 20220621 darwin/arm64
@MaxToby 刚升级了,还是不行 |
import的api文件里面还有import其他的api,是这样吗? |
是的,上面有图 |
我也遇到这个问题了,主要原因是各个小模块的.api文件,有公共的结构体,于是想抽出来单独放一个公共的(分开放可以,但是不能重名,要不然gen code的时候会报错结构体多次定义)。希望能支持一下2层嵌套 |
我测试了,只要你把嵌套的嵌套的api,全放入第一层api文件,即在第一层import那些,就可以正常生成了(第二层文件的import全去掉,有红线提示忽略就好) |
同样的问题,希望尽快修复 |
就是不想修改原有结构,因为现有目录结构带v1,v2,比较清晰 @Arrowarcher |
1层嵌套是支持的,平级引用公共模块在goctl api plugin这里就报错了。 |
The same problem, more than two levels of nesting will cause this. Hope this problem fixed soon. |
@kevwan 哪时候可以解决下 |
希望能尽快解决 |
我把userInfo摘到第一层api后,虽然可以生成swagger。但是在有红线的提示下,goctl format该文件进行格式排版的时候,会找不到这个结构体而报错。 |
写给遇到相同问题的朋友,可以通过升级 goctl 解决该问题: git clone https://github.com/zeromicro/goctl-swagger
cd goctl-swagger
go get github.com/zeromicro/go-zero/tools/[email protected]
go install 但是有个问题啊,api 文件里不能含有 json/form/path/header 之外的 tag,否则生成的 swagger 文件会有问题。 |
已经完全修复了这个问题 #88 ,在维护者合并之前,可以通过以下方式使用: git clone https://github.com/jayvynl/goctl-swagger.git
cd goctl-swagger
go install |
由于 PR 没有被合并, 新开了仓库解决 ISSUES 提到的大部分问题, 并支持 openapi 3 生成, https://github.com/jayvynl/goctl-openapi |
@jayvynl 为啥没合并 why unmerged? |
不确定,可能是什么地方不符合维护者的想法,但是也没有 review 。 |
代码:
The text was updated successfully, but these errors were encountered: