Skip to content
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

基于此库进行了一些修改自用, 发现的几个问题 #17

Open
kirileec opened this issue Jun 9, 2021 · 3 comments
Open

基于此库进行了一些修改自用, 发现的几个问题 #17

kirileec opened this issue Jun 9, 2021 · 3 comments

Comments

@kirileec
Copy link

kirileec commented Jun 9, 2021

不知道算不算问题哈

  1. 建议打个tag, 这样方便go mod项目直接import
  2. gen.go 的方法 genCode没有自动创建routers目录, 如果是直接使用这个库的情况(不是基于gmsec项目), 就会调试时可以注册路由, 到编译成其他系统就不行了
  3. Register方法只能调用一次, 每次调用都会生成swagger.json, 会覆盖之前的文档
  4. 默认情况下会为每个没有写注解的公开方法都生成路由, 这样的话想实现下面这种就比较怪了 会把api.BaseController里的方法也注册起来, 也许可以加个注解比如 @ignore 忽略路由注册
type SysUser struct {
	api.BaseController
	api.BaseAuthController
}
  1. 目前好像不能声明header query 这种参数来生成到文档中

感谢

@xxjwxc
Copy link
Owner

xxjwxc commented Jun 9, 2021

@kirileec 很详细,感谢反馈,如果你有实现可以提pr,我这边会加上日程。完善的!

1:建议使用go -get -u github.com/xxjwxc/ginrpc@master 来更新到最新版,
2:这个可以完成(会生成一个gen_router.data文件),采纳
3:这个目前似乎没办法,每次都更新
4:采纳
5:还需要找一个好的方式

re: 感谢认可及意见!

@xxjwxc xxjwxc pinned this issue Jun 9, 2021
@kirileec
Copy link
Author

感谢如此之快的回复

第三个我目前是在Base这里增加 doc *myswagger.DocSwagger 每次注册向这个doc中添加内容, 之后为Base增加GenSwagger, 在所有注册方法后面调用一下

第四点也可以增加一个开关, 只要没有写@router的路由均不注册

第五点我目前是在第二个参数的结构体中增加了 header query path 等tag, 然后在 unmarshal 中分别进行各类参数的Bind, 虽然勉强能用, 不过第一性能肯定不行, 可以考虑实现gin的Binding接口来处理. 不知道这种把header之类参数和body参数放一起是不是怪怪的

希望有帮助

pr的话, 因为一顿乱改需要一些时间整理下

@xxjwxc
Copy link
Owner

xxjwxc commented Jun 10, 2021

好的,我们可以一个一个来优化!不要一次pr太多。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants