欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go-zero docker-compose 搭建課件服務(一):編寫服務api和proto

0、轉(zhuǎn)載

go-zero docker-compose 搭建課件服務(一):編寫服務api和proto

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供河西網(wǎng)站建設、河西做網(wǎng)站、河西網(wǎng)站設計、河西網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、河西企業(yè)網(wǎng)站模板建站服務,十多年河西做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

0.1源碼地址

https://github.com/liuyuede123/go-zero-courseware

1、創(chuàng)建項目目錄

mkdir go-zero-courseware
cd go-zero-courseware

2、安裝goctl

# 安裝
GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/go-zero/tools/goctl@latest

# mac放到/usr/local/bin/下面
ln -s ~/go/bin/goctl /usr/local/bin/goctl

# 校驗
goctl -v
goctl version 1.4.0 darwin/amd64 # 看到版本說明安裝成功

3、創(chuàng)建服務

創(chuàng)建服務目錄

mkdir -p user/api
mkdir -p user/rpc
mkdir -p courseware/api
mkdir -p courseware/rpc

創(chuàng)建user.api、courseware.api、user.proto、courseware.proto

touch user/api/user.api
touch user/rpc/user.proto
touch courseware/api/courseware.api
touch courseware/rpc/courseware.proto

4、編寫user.api、user.proto

type (
	// 登錄
	LoginRequest {
		LoginName string `json:"loginName"`
		Password  string `json:"password"`
	}
	LoginResponse {
		Id    uint64 `json:"id"`
		Token string `json:"token"`
	}

	// 注冊
	RegisterRequest {
		LoginName string `json:"loginName"`
		Username  string `json:"username"`
		Password  string `json:"password"`
		Sex       uint64 `json:"sex"`
	}
	RegisterResponse {
	}

	// 用戶信息
	UserInfoRequest {
		Id uint64 `json:"id"`
	}
	UserInfoResponse {
		Id        uint64 `json:"id"`
		Username  string `json:"username"`
		LoginName string `json:"loginName"`
		Sex       uint64 `json:"sex"`
	}
)

service user {
	@handler userLogin
	post /api/user/login (LoginRequest) returns (LoginResponse)
	
	@handler userRegister
	post /api/user/register (RegisterRequest) returns (RegisterResponse)
	
	@handler userInfo
	post /api/user/userInfo (UserInfoRequest) returns (UserInfoResponse)
}
syntax = "proto3";

package user;
option go_package = "./user";

// 登錄
message  LoginRequest {
  string LoginName = 1;
  string  Password = 2;
}
message LoginResponse {
  uint64 Id = 1;
  string Token = 2;
}

// 注冊
message RegisterRequest {
  string LoginName = 1;
  string Username = 2;
  string Password = 3;
  uint64 Sex = 4;
}
message RegisterResponse {
}

// 用戶信息
message UserInfoRequest {
  uint64 Id = 1;
}
message UserInfoResponse {
  uint64 Id = 1;
  string Username = 2;
  string LoginName = 3;
  uint64 Sex = 4;
}

service User {
  rpc Login(LoginRequest) returns(LoginResponse);
  rpc Register(RegisterRequest) returns(RegisterResponse);
  rpc UserInfo(UserInfoRequest) returns(UserInfoResponse);
}

5、編寫courseware.api、courseware.proto

type (
	// 新增
	AddRequest {
		Code string `json:"code"`
		Name string `json:"name"`
		Type uint64 `json:"type"`
	}
	AddResponse {
	}

	// 更新
	UpdateRequest {
		Id   uint64 `json:"id"`
		Code string `json:"code"`
		Name string `json:"name"`
		Type uint64 `json:"type"`
	}
	UpdateResponse {
	}

	// 查看
	GetRequest {
		Id uint64 `json:"id"`
	}
	GetResponse {
		Id   uint64 `json:"id"`
		Code string `json:"code"`
		Name string `json:"name"`
		Type uint64 `json:"type"`
	}

	// 刪除
	DeleteRequest {
		Id uint64 `json:"id"`
	}
	DeleteResponse {
	}
)

service courseware {
	@handler coursewareAdd
	post /api/courseware/add (AddRequest) returns (AddResponse)
	
	@handler coursewareUpdate
	post /api/courseware/update (UpdateRequest) returns (UpdateResponse)
	
	@handler coursewareGet
	post /api/courseware/get (GetRequest) returns (GetResponse)
	
	@handler coursewareDelete
	post /api/courseware/delete (DeleteRequest) returns (DeleteResponse)
}
syntax = "proto3";

package user;
option go_package = "./courseware";

// 新增
message AddRequest {
  string Code = 1;
  string Name = 2;
  uint64 Type = 3;
}
message AddResponse {
}

// 更新
message UpdateRequest {
  uint64 Id = 1;
  string Code = 2;
  string Name = 3;
  uint64 Type = 4;
}
message UpdateResponse {
}

// 查看
message GetRequest {
  uint64 Id = 1;
}
message GetResponse {
  uint64 Id = 1;
  string Code = 2;
  string Name = 3;
  uint64 Type = 4;
}

// 刪除
message DeleteRequest {
  uint64 Id = 1;
}
message DeleteResponse {
}

service Courseware {
  rpc Add(AddRequest) returns(AddResponse);
  rpc Update(UpdateRequest) returns(UpdateResponse);
  rpc Get(GetRequest) returns(GetResponse);
  rpc Delete(DeleteRequest) returns(DeleteResponse);
}

本文題目:go-zero docker-compose 搭建課件服務(一):編寫服務api和proto
本文網(wǎng)址:http://chinadenli.net/article16/dsoicdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、移動網(wǎng)站建設、、做網(wǎng)站、定制網(wǎng)站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作