一、定义自己的protobuf
这里我定义一个简单的protobuf,用于实现通过http中的protobuf上传一个人的个人信息,以及通过http请求获取服务器上的个人信息。由于本例只是说明protobuf的使用,所以没有涉及到服务器对数据库的存储和查询
my_protobuf.proto
/*请求返回枚举*/
enum return_code {
EVERETHING_OK=0; /*操作成功--所有未失败信息都可用这个*/
UNKONW_ERR =1; /*未知错误*/
AUTH_ERR =2; /*认证失败*/
}
/*元素类型枚举*/
enum request_type{
POST_PERSON_INFO = 1; /*上报个人信息*/
GET_PERSON_INFO = 2; /*获取个人信息*/
}
/*男女枚举类型*/
enum sex_flag {
MAN = 0; /*男*/
WOMAN = 1; /*女*
}
/*个人信息*/
message person_info {
required string name = 1; /*姓名*/
required sex_flag sex = 2; /*性别*/
required uint32 age = 3; /*年龄*/
required uint32 heigth = 4 /*身高*/
}
message pb_person_info {
repeated person_info p_info =