快速启动

未匹配的标注

定义接口

进入文件修改内容 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
}

项目地址 通用工具

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~