当前位置: 首页 > news >正文

外贸网站支付系统网站 权限

外贸网站支付系统,网站 权限,商城天气,免流网站开发利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax proto3;// proto 包名 package demoRpc;// golang 包名(可选) option go_package ./demo;// 如需为 .proto 文件添加注释#xff0c;请使用 C/C 样式的 // 和 /* ... */…利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax proto3;// proto 包名 package demoRpc;// golang 包名(可选) option go_package ./demo;// 如需为 .proto 文件添加注释请使用 C/C 样式的 // 和 /* ... */ 语法。 /* SearchRequest represents a search query, with pagination options to* indicate which results to include in the response. */// 支持import 引入其他.proto文件 但是要求较多没有.api文件容易简易 // 好像是service必须在主文件引入的proto文件只能包含message定义 import ***.proto;// 枚举 // 在定义消息类型时您可能希望它的某个字段仅具有一个预定义的值列表。例如假设您想要为每个 // SearchRequest 添加一个 corpus 字段其中正文可以是 UNIVERSAL、WEB、IMAGES、LOCAL、 // NEWS、PRODUCTS 或 VIDEO。为此您只需在消息定义中添加 enum 并针对每个可能的值添加一个常量。// 在以下示例中我们添加了一个名为 Corpus 的 enum包含所有可能的值和 Corpus 类型的字段 // 如您所见Corpus 枚举的第一个常量映射到零每个枚举定义必须包含一个映射到零的第一个常量作为其 // 第一个元素。原因如下 // // 1. 必须有一个零值以便我们可以使用 0 作为数字的默认值。 // 2/ 零值必须是第一个元素以便与 proto2 语义其中第一个枚举值始终是默认值兼容。enum Corpus {CORPUS_UNSPECIFIED 0;CORPUS_UNIVERSAL 1;CORPUS_WEB 2;CORPUS_IMAGES 3;CORPUS_LOCAL 4;CORPUS_NEWS 5;CORPUS_PRODUCTS 6;CORPUS_VIDEO 7; }// 结构体 // SearchRequest 消息定义指定三个字段名称/值对每个字段对应于要包含在此类消息中的每段数据。每个字段都有一个名称和类型。 // 类型可以指包括基本类型切片用 repeated 数据类型 表示也支持map数据类型,数据类型 以及自定义数据类型 // 字段默认是可选的 message SearchRequest {string query 1;int32 page_number 2;int32 result_per_page 3;Corpus corpus 4;repeated Result results 6;mapstring, string projects 8; }message Result {string url 1;string title 2;repeated string snippets 3; }message SearchResponse {mapstring, int32 projects 1; }// 保留字段编写示例 不重要 保留————》在这个结构体中这几个字段不能再被使用 // 如果您通过完全移除或注释掉某个字段来更新消息类型则将来的用户可以自行更新该字段编号以对 // 该类型进行更新。如果用户日后加载同一 .proto 的旧版本包括数据损坏、隐私 bug 等 // 这可能会导致严重问题。确保不会发生这种情况的一种方法是指定已删除字段的字段编号 // 和/或名称也可能导致 JSON 序列化问题为 reserved。如果任何未来用户尝试使用这些字 // 段标识符协议缓冲区编译器就会抱怨。 message Foo {reserved 2, 15, 9 to 11;reserved foo, bar; }// 定义服务 // 如果在goctl命令中不设置 -m 则一个文件proto文件中只能有一个 service 多个 service 会报错 // 但是由于import 不好用且项目上需要分组 可以编写多个 service 这样切记执行命令时增加 -m service Demo {// 普通的rpc定义 rpc 方法名称请求体returns (响应体);rpc Search(SearchRequest) returns (SearchResponse);// 客户端流rpc ClientStream(stream SearchRequest) returns (SearchResponse);// 服务端流rpc ServerStream(SearchRequest) returns (stream SearchResponse);// 双向流rpc TwoStream(stream SearchRequest) returns (stream SearchResponse); }执行goctl命令 goctl rpc protoc xxx.proto --go_out. --go-grpc_out. --zrpc_out. (-m 服务分组时)执行结果 其中 etc静态配置文件目录 demo.go程序启动入口文件 internal单个服务内部文件其可见范围仅限当前服务 config静态配置文件对应的结构体声明目录 logic业务目录所有业务编码文件都存放在这个目录下面logic 为固定后缀 server类似于API中的handle层无需修改 svc依赖注入目录所有 logic 层需要用到的依赖都要在这里进行显式注入 democlient客户端调用服务端rpc相关代码 pb文件简单理解为API中的type文件还包括其他一些代码在服务端和客户端都需要调用 接下来你只需要负责logic的具体实现就可以了当前你也可以对生成的内容进行修改
http://www.hkea.cn/news/14292695/

相关文章:

  • 南通通州建设工程质量监督网站高端家具东莞网站建设技术支持
  • 网站pr怎么提升游戏推广平台代理加盟
  • 松江叶榭网站建设拓者设计吧电脑版
  • wordpress能开发商城网站吗咸阳建设局网站
  • 建设工程招聘网网站建设 优化
  • 广州市建设工程造价管理站新手建网站
  • 学生版 建设网站软件下载seo推广网站
  • 网站建设帖子商业软文怎么写
  • 网站建设 做一个网站需要多少钱网站域名自动跳转
  • 绍兴网站制作建设更改wordpress所有的链接
  • 不收费推广网站有哪些南京网站设计公司兴田德润可以不
  • 网站主流服务器语言荣成市建设局网站是什么
  • 制作外贸网站公关公司服务的特点包括
  • 以背景做网站视频为营销策划方案包括哪些内容
  • flash+xml网站模板陕西建设网官方网站
  • 山西手机版建站系统信息西安北郊网站开发
  • 网站建设续费催款通知书谁有免费网址发给我谢谢
  • wordpress 加ico贵阳seo网站建设
  • 网站建设公司华网天兰州迅豹网络
  • 建设银行广东分行网站玄圭做网站怎么样
  • 怎么删除ghost wordpress镇海阿里巴巴关键词优化
  • 茂名建站模板搭建现在用什么做网站
  • 做商城网站需要备案什么域名回收手表网站
  • 企业网站开发技术题库网站策划选题
  • 电子商务网站建设目标及利益分析兽装定制网站
  • 福州 网站备案衡水企业网站建设价格
  • wordpress网站缓存安装织梦cms是什么
  • 做快手网站怎么部署wordpress
  • 做网站哪家正规环保网站查询碾米是否做备案
  • 网站设计评语外贸做的社交网站