Kratos 項(xiàng)目初始化

2022-04-24 09:56 更新

環(huán)境準(zhǔn)備

首先,您需要安裝好對(duì)應(yīng)的依賴環(huán)境,以及工具:

建議開啟GO111MODULE

go env -w GO111MODULE=on

kratos 命令工具

kratos 是與 Kratos 框架配套的腳手架工具,kratos 能夠

  • 通過(guò)模板快速創(chuàng)建項(xiàng)目
  • 快速創(chuàng)建與生成 protoc 文件
  • 使用開發(fā)過(guò)程中常用的命令
  • 極大提高開發(fā)效率,減輕心智負(fù)擔(dān)

創(chuàng)建項(xiàng)目

# 使用默認(rèn)模板創(chuàng)建項(xiàng)目
kratos new helloworld

# 如在國(guó)內(nèi)環(huán)境拉取失敗, 可 -r 指定源
kratos new helloworld -r https://gitee.com/go-kratos/kratos-layout.git

# 進(jìn)入項(xiàng)目目錄
cd helloworld

# 拉取項(xiàng)目依賴
go mod download

如果拉取依賴遇到網(wǎng)絡(luò)問(wèn)題,建議 配置GOPROXY

代碼生成與運(yùn)行

生成

# 生成所有proto源碼、wire等等
go generate ./...

運(yùn)行

# 運(yùn)行項(xiàng)目
kratos run

# 輸出
INFO msg=config loaded: config.yaml format: yaml # 默認(rèn)載入 configs/config.yaml 配置文件
INFO msg=[gRPC] server listening on: [::]:9000 # gRPC服務(wù)監(jiān)聽 9000 端口
INFO msg=[HTTP] server listening on: [::]:8000 # HTTP服務(wù)監(jiān)聽 8000 端口

測(cè)試接口

測(cè)試HTTP接口

相關(guān)邏輯代碼位于 ?internal/service/greeter.go?

curl 'http://127.0.0.1:8000/helloworld/kratos'
# 輸出:
{
  "message": "Hello kratos"
}


curl 'http://127.0.0.1:8000/helloworld/error'
# 輸出
{
    "code": 404,
    "reason": "USER_NOT_FOUND",
    "message": "user not found: error",
    "metadata": {}
}

項(xiàng)目模板

Kratos 通過(guò) Git 倉(cāng)庫(kù)進(jìn)行模板管理,創(chuàng)建項(xiàng)目時(shí)通過(guò)拉取模板進(jìn)行初始化。對(duì)應(yīng)模板地址:

自定義項(xiàng)目模板

您也可以自行創(chuàng)建模板,以減免每次都需要進(jìn)行的繁瑣工作


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)