protobuf

概念: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
image.png
//參考2
image.png後端

相關文章
相關標籤/搜索