我需要在 Thrift IDL 中设计一个通用数据类型以下是我想出的。我需要一些专家来审查。
/**
* wraper over various type declaration
*/
struct BoolType {
1: required string name,
2: required list<bool> val
}
struct ByteType {
1: required string name,
2: required list<byte> val
}
struct ShortType {
1: required string name,
2: required list<i16> val
}
struct IntType {
1: required string name,
2: required list<i32> val
}
struct LongType {
1: required string name,
2: required list<i64> val
}
struct DoubleType {
1: required string name,
2: required list<double> val
}
struct StringType {
1: required string name,
2: required list<string> val
}
struct BinaryType {
1: required string name,
2: required list<binary> val
}
union BasicType {
1: BoolType vBool,
2: ByteType vByte,
3: IntType vInt,
4: LongType vLong,
5: DoubleType vDouble,
6: StringType vString,
7: BinaryType vBinary
}
struct CompoundType {
1: BoolType vBool,
2: ByteType vByte,
3: IntType vInt,
4: LongType vLong,
5: DoubleType vDouble,
6: StringType vString,
7: BinaryType vBinary
}
union TObject {
1: BasicType vBasicType,
2: CompoundType vCompoundType
}
TObject
是我想在我的服务 API 中使用的东西