概念: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後端