1 Star 0 Fork 0

iotas / toolkit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
add_route.go 993 Bytes
一键复制 编辑 原始数据 按行查看 历史
xuthus 提交于 2021-12-14 18:45 . fix
package proto_parser
import (
"fmt"
"github.com/emicklei/proto"
)
func loadServiceList(srv *proto.Service) {
Visitor.AddSrv(srv.Name, srv)
}
// AddRoute 生成路由组
func AddRoute(pbFile, routeName, api, genTo string) error {
definition, err := openProtoFile(pbFile)
if err != nil {
return err
}
proto.Walk(definition,
proto.WithService(loadServiceList),
)
if _, exist := Visitor.SrvMap[routeName]; exist {
return fmt.Errorf("%s has been exist", routeName)
}
// 开始添加
var service = &proto.Service{
Comment: &proto.Comment{
Lines: []string{
" @route_group: true",
fmt.Sprintf(" @route_api: %s", api),
fmt.Sprintf(" @gen_to: %s", genTo),
fmt.Sprintf(" @middleware: "),
},
},
Name: routeName,
Elements: nil,
Parent: definition,
}
definition.Elements = append(definition.Elements, service)
if err := parserFormatWrite(pbFile, definition); err != nil {
return fmt.Errorf("parse pb file err: %+v", err)
}
return nil
}
Go
1
https://gitee.com/iotas/toolkit.git
git@gitee.com:iotas/toolkit.git
iotas
toolkit
toolkit
6a2c4ec13c63

搜索帮助