kratos

作者: SecondRocker | 来源:发表于2024-07-06 17:07 被阅读0次

    install kratos

    upgrade

    kratos upgrade

    安装依赖

    make init

    如果 生成的grpc代码是SupportPackageIsVersion8 需要更新 mod依赖google.golang.org/grpcv1.65.0

    生成proto文件

    kratos proto add api/path/xxx.proto

    编辑proto文件

    注意http

    syntax = "proto3";
    
    package api.kvstore.v1;
    import "google/api/annotations.proto";
    
    option go_package = "leegoo/api/kvstore/v1;v1";
    option java_multiple_files = true;
    option java_package = "api.kvstore.v1";
    option java_outer_classname = "Kvstorev1";
    
    service Kv {
        // rpc Set (KvRequest) returns (KvReply) {
      //   option (google.api.http) = {
      //     post: "/kvstore"
      //   };
      // };
        rpc Get (KvRequest) returns (KvReply) {
        option (google.api.http) = {
          get: "/kvstore/{key}"
        };
      };
        rpc Del (KvRequest) returns (KvReply) {
        option (google.api.http) = {
          delete: "/kvstore/{key}"
        };
      };
    }
    
    message KvRequest {
      string key = 1;
    }
    message KvReply {
      int32 code = 1;
      string data = 2;
    }
    

    生成client文件

    kratos proto client proto路径

    生成server文件

    kratos proto server proto路径 会在 internal/service下生成对应的service文件

    修改internal/server下的grpc(NewGRPCServer)、 (http)NewHTTPServer,加入上面生成的service

    修改internal/service/service.go文件,为wire增加依赖(新生成的service)

    var ProviderSet = wire.NewSet(NewKvService, NewGreeterService)
    

    wire生成依赖

    make generate

    配置

    修改configs/config.yml,加入需要的配置
    修改internal/conf/conf.proto,增加需要的配置
    make config生成配置代码

    相关文章

      网友评论

          本文标题:kratos

          本文链接:https://www.haomeiwen.com/subject/boggcjtx.html