快速启动
定义接口
进入文件修改内容 protobuf/api/api_demo.proto
, 所有语法符合 protobuf
, 具体可以查看 protocol,可以查看翻译号的文章 知乎
syntax = "proto3";
package api;
import "http_config.proto";
option go_package = "github.com/go-home-admin/go-admin/generate/proto/api";
service ApiDemo {
option (http.RouteGroup) = "api";
// api demo
rpc Home(ApiDemoHomeRequest)returns(ApiDemoHomeResponse){
option (http.Get) = "/api/demo";
}
}
message ApiDemoHomeRequest {
// @Tag("bson") 如果有需要,还可以自定义标签,以方便和mongodb等服务共享结构
int64 id = 1;
}
message ApiDemoHomeResponse {
string start_time = 1;
string tip = 2;
oneof data {
string name = 3;
}
}
生成基础代码并且启动应用
make dev
这时候,你就可以访问你的接口了。如果还不行,可以检查下包依赖 go mod tidy
127.0.0.1:8080/api/demo
make dev 命令生成的基础代码存放在 app/http/api/api_demo
, 可以进入编写您的逻辑代码, 基础代码包括如下
// Home
func (receiver *Controller) Home(req *api.ApiDemoHomeRequest, ctx http.Context) (*api.ApiDemoHomeResponse, error) {
utils.Dump(req.Id)
return &api.ApiDemoHomeResponse{
StartTime: "",
Tip: "",
Data: nil,
}, nil
}