五分钟教程
项目、API 的创建非模板填写,会调用
go mod tidy等命令,将出现按需拉取 github 代码的情况,耗时视网络环境而定。我本地有缓存的情况下(之前新建过),新建项目大约 20s
我本地有缓存的情况下(之前新建过),新建 API 大约 5s
新建项目
最简单的模式:
$ fresh-go new helloworld # helloworld 为项目名称带上 remote 和 owner 创建项目
$ fresh-go new helloworld --remote=github.com --owner=SmallTianTian你可以通过开启帮助,来查看新建项目支持哪些可选项。
$ fresh-go new --help这里有个简单的全家福介绍:
$ fresh-go new hello \ # 项目名称
--debug \ # 打开 debug 开关,查看工具运行日志
--grpc=false \ # 关闭 gRPC 服务,默认是开启,将导致 proxy 服务一同关闭
--log=logrus \ # 使用 logrus 作为日志框架,默认是 zap。目前有 logrus 和 zap 可选
--remote=github.com \ # remote 为 github.com。将体现在 go.mod 的 module 中,例如本项目 module 为 github.com/SmallTianTian/fresh-go,remote 就是 github.com
--owner=SmallTianTian \ # owner 为 SmallTianTian,一般为用户名或者组织名。将体现在 go.mod 的 module 中,例如本项目 module 为 github.com/SmallTianTian/fresh-go,owner 就是 SmallTianTian
-p=/root/workspace/go \ # 项目创建路径,依托 go.mod,我们可以将项目创建在任何地方
--proxy=false \ # 关闭 gRPC proxy,默认是开启,gRPC 服务的关闭也会导致 proxy 服务关闭。
--vendor # 开启 vendor 目录,默认不开启。关于 remote 和 owner 可能有点儿绕,官方也没有这样的规定,这是参考 git 路径的来的,module 由如下结构构成。remote 和 owner 为可选项,但 owner 出现时必须有 remote。
<remote>/<owner>/<project>
运行 demo
新建完项目后,你可以通过如下两种命令中的一个来运行项目:
你将看到程序将日志打印在终端,如果没有去掉 gRPC 及 proxy 服务,你可以看到它们监听 gRPC(:50051) 和 proxy(:8089) 端口,你可以使用如下命令来查看程序响应:
新建 API
当需要加入新的服务时,你可以通过本工具来快速创建模板。
使用如下命令:
稍等片刻,你将能看到项目中
api目录中多出了 user 文件夹,里面有 user 相关的 proto 文件,proto 编译后的代码。在
internal/ui/grpc中看到名为user_v1.go的对应 service 实现。对应的 service 实现已经被注册进系统启动中。
proto 已经包含默认的 create、 delete、 update、 get、 list 方法,你需要在 proto 中补齐相关请求及响应的字段,并在实现中完善代码即可。
此时,你可以像运行 demo 一样运行项目,新的 api 也将可以被访问。
Last updated
Was this helpful?