thrift需要使用对应语法编写接口用于生成对应语言的接口,本文简单介绍会用到的数据类型
基础类型
bool/byte/i16/i32/i64/double/string
其中没有无符号整型类型。
containers
集合类 list/set/map
structs
自定义将多个字段封装起来的数据类型,每个字段有一个整形标志位,类型,字段名和可选的默认值
struct Obj {
1: i32 num1 = 0, //默认值
2: i32 num2,
3: Operation op, //可以嵌套其他类型
4: optional string comment, //可选字段
5: list<i32> l //list
6: map<i32,string> m //map
7: set<string> s //set
}
枚举
enum Operation {
ADD = 1,
SUBTRACT = 2,
MULTIPLY = 3,
DIVIDE = 4
}
exception
可以定义异常用于返回服务调用发生错误的情况
exception InvalidOperation {
1: i32 whatOp,
2: string why
}
java文件
生成的java文件包含默认构造方法,包含全字段的构造方法,以及各个字段的get/set/isSet/unSet方法用于构建实例。