首页 > 其他分享 >protobuf教程(二)---引入其他proto文件

protobuf教程(二)---引入其他proto文件

时间:2023-06-10 15:34:34浏览次数:36  
标签:protobuf .. proto -- --- api go response

被引入的response.proto的文件:

syntax = "proto3";

package response;

option go_package = "github.com/TripleCGame/apis/api/response;response";
import "google/protobuf/struct.proto";

message Response {
  int32 code = 1;
  google.protobuf.Struct data = 2;
  string msg = 3; 
}

其中的package表明包名是response

syntax = "proto3";

package account.v1;

option go_package = "github.com/TripleCGame/apis/api/account/v1;v1";
import "google/api/annotations.proto";
import "response/response.proto";

service Account {
  rpc sendEmailCode (SendEmailCodeRequest) returns (response.Response) {
    option (google.api.http) = {
      post: "/account/sendEmailCode"
      body: "*"
    };
  }
}

message SendEmailCodeRequest {
  string email = 1;
  string type = 2;
}

当然首先倒入的路径需要在protoc中的proto_path中指定目录,用于查找:

protoc --proto_path=../../api \ --proto_path=../../pkg \ --proto_path=../../third_party \ --go_out=paths=source_relative:../../api \ --go-http_out=paths=source_relative:../../api \ --go-grpc_out=paths=source_relative:../../api \ --openapi_out=fq_schema_naming=true,default_response=false:. \ $(API_PROTO_FILES)

导入proto文件:

import "response/response.proto";

由于response.proto指定了包名叫response,所以引用的时候需要response.Response

 

标签:protobuf,..,proto,--,---,api,go,response
From: https://www.cnblogs.com/zhanchenjin/p/17471331.html

相关文章

  • 【淘宝api开发系列】获得商品详情API|item_get-获得淘宝商品详情调用示例教程
    ​淘宝商品详情是指在淘宝上展示的一个商品的详细信息,包括商品的名称、图片、价格、规格参数、用户评价等内容。在商家上传商品时,一般会根据实际情况填写商品信息,并可以添加多张图片来展示商品的外观和功能特点。同时,商家也可以在商品详情中编写文字描述,详细介绍商品的特点、优势......
  • Python自学指南-第一章-安装运行
    1.1【环境】快速安装Python与PyCharm“工欲善其事,必先利其器”,为了自学之路的顺利顺利进行。首先需要搭建项目的开发环境。1.下载解释器进入Python官网,目前Python最新Python稳定版为3.11,点击如下链接直接跳到最后,根据你电脑系统以及的位数Win64位:选择Windows......
  • CF 570E - Pig and Palindromes
    https://codeforces.com/problemset/problem/570/E双向DP,类似于摘樱桃:https://leetcode.cn/problems/cherry-pickup/记忆化搜索,超内存#include<vector>#include<string>#include<functional>#include<iostream>usingnamespacestd;intmain(){ int......
  • 关于AWS-Amazon Linux 2023-的发布与说明
    因 目前AmazonLinux1已经在2020年12年31日结束了标准支持,目前处于维护支持阶段,维护支持期将于2023年12月31日结束。AmazonLinux2结束支持的日期为2025年6月30日,笔者在另一篇文章《关于AmazonLinux1与AmazonLinux2-操作系统-支持及生命周期的说明》中有写到详......
  • 关于Amazon Linux1 与 Amazon Linux2 - 操作系统-支持及生命周期的说明
    对于公司服务器操作系统而言,一旦操作系统的提供商在将要停止对其更新和技术支持时,就应该提前考虑升级或者更换新的OS在aws平台,有一些主机使用了AmazonLinux1与AmazonLinux2操作系统,关于这两个操作系统,笔者曾经咨询过AWS官方,收到了如下一些回复(笔者写此文时,其时aws也早在今......
  • 项目-已完成
    ERPerp_parent(后端)erp_web(前端)视频点播VIDEO_ParentJavaScriptHTMLCSS电商RBAC......
  • Java--进阶
    高级文本处理Locale类 //返回Java所支持的全部国家和语言的数组 Locale[]localeList=Locale.getAvailableLocales(); for(Localelocale:localeList) { System.out.println(locale.getLanguage()+"_"+locale.getCountry()); System.out.println(loc......
  • uniapp-黑马优选学习01
    01.IDE使用HBuilderX02.scss/sass插件安装:为了方便样式的编写   地址: https://ext.dcloud.net.cn/plugin?name=compile-node-sass03.快捷键方案的设置、IDE主题色的设置、基本设置(ctlr加alt加逗号 :  ctrl+alt+, )    >>其它基本......
  • Solution Set - 限时训练 II
    HNOI2017Day22023-06-10注:Day2T2换为BJOI2017Day2T1,以匹配学习进度A.大佬B.抛硬币C.喷式水战改HNOI2017Day12023-06-09A.单旋B.影魔C.礼物HNOI2018Day12023-05-30A.寻宝游戏B.转盘C.毒瘤A寻宝游戏给定\(n\)个长为\(m\)的二进制串,可以在每两个二进制数......
  • Python+OpenGL使用Cohen-Sutherland算法实现直线裁剪
    问题描述:编写Python程序,使用OpenGL实现用于直线裁剪的Cohen-Sutherland算法。运行程序,绘制一个矩形表示裁剪窗口,然后通过鼠标单击和移动来绘制直线,鼠标抬起时对刚刚绘制的直线进行裁剪,显示最终落在裁剪窗口中的部分。关于Cohen-Sutherland算法请自行查阅资料。准备工作:安装和配置Py......