栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

03 go-zero goctl详细使用

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

03 go-zero goctl详细使用

一. goctl功能简介

goctl是一个go-zero的工具集,运行goctl --help查看功能简介

NAME:
   goctl - a cli tool to generate code

USAGE:
   goctl [global options] command [command options] [arguments...]

VERSION:
   1.3.3 darwin/arm64

COMMANDS:
   bug         report a bug
   upgrade     upgrade goctl to latest version
   env         check or edit goctl environment
   migrate     migrate from tal-tech to zeromicro # 1.2及之前的的仓库为tal-tech,新仓库为zeromicro
   api         generate api related files 
   docker      generate Dockerfile
   kube        generate kubernetes files
   rpc         generate rpc code
   model       generate model code
   template    template operation
   completion  generation completion script, it only works for unix-like OS
   help, h     Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

其中写代码比较常用的有api, rpc, model。

二. api的用法
  1. 创建zero-demo目录
  2. 初始化zero-demo
go mod init zero-demo
  1. 在zero-demo项目中创建user-api/api/user.api文件
mkdir -pv user-api/api
cd user-api/api
touch user.api
  1. 用IDE打开zero-demo项目,最好安装下goctl这个插件,vs和goland都有,装了之后写api文件会高亮
  2. 在user.api中写api,本文写一个简单的,详细的例子请参考https://go-zero.dev/cn/api-grammar.html
// api语法版本
syntax = "v1"

info(
author: "songmeizi"
date:   "2022-04-01"
desc:   "api语法示例及语法说明"
)

type (
    UserInfoReq {
        UserId   int64 `json:"userId"`
    }
    UserInfoResp {
        UserId     int64 `json:"userId"`
        NickName   string `json:"nickname"`
    }
)
//定义了一个服务叫user-api
service user-api{
    //获取接口的名字叫获取用户信息
    @doc "获取用户信息"
    //对应的hanlder即controller是userInfo
    @handler userInfo
    //请求方法是post,路径是/user/info,参数是UserInfoReq,返回值是UserInfoResp
    post /user/info (UserInfoReq) returns (UserInfoResp)
}
  1. 执行下面命令来生产api业务代码
cd user-api/api
##           指定哪个api 生成到哪个路径 指定风格比如gozero(默认), go_zero, goZero等
goctl api go -api *.api -dir ../  --style=goZero
Done.
  1. 执行完成后会生成对应的代码,如下图。
  2. 执行go mod tidy下载所需要的依赖
  3. 然后你只需要在logic/userInfoLogic.go文件里编写业务逻辑即可,如下图。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号