概念:Protocol Buffers 是一种轻便高效的结构化数据存储格式,相似于JSON、XML。但JSON和XML是使用文本进行通信,而protobuf是使用二进制通信,其效率远高于JSON和XML。
做用: protobuf能够直接做为先后端数据和接口的文档,减小了沟通成本,protobuf文件由后端统必定义,前端只需拷贝进项目便可
文件结构: example.proto前端
syntax="proto3";//protobuf编译器的版本 package book;//定义一个包名,声明命名空间 import "src/dest.proto";//导入外部proto文件,只能import当前目录或子目录下的proto文件 //使用外部package中的结构时 pakName.msgName.typeName message Person{//使用message结构化数据 required string name = 1;//声明一个字符串类型的字段name,字段标识号为1(必须设置) required init32 id = 2;//声明一个int32类型的字段id,标识号为2(必须设置) optional string email = 3;//optional表示email字段能够有0个或一个,不超过1个 repeated PhoneNumber phone =4;//repeated表示该字段可任意重复屡次 enum PhoneType{//外部可用Person.PhoneType调用,enum表示枚举 MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber{ repeated string number = 1; optional PhoneType type =2 [default =HOME];//指定默认值 } } message AddressBook{ repeated Person person_info =1; } //一个proto文件中能够声明多个message,在编译时他们会被编译成不一样的类。
//参考1
//参考2后端