• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    2年前 (2016-08-14)  thrift |   抢沙发  16 
    文章评分 0 次,平均分 0.0

    1.基本类型(括号内为对应的Java类型):
    bool(boolean): 布尔类型(TRUE or FALSE)
    byte(byte): 8位带符号整数
    i16(short): 16位带符号整数
    i32(int): 32位带符号整数
    i64(long): 64位带符号整数
    double(double): 64位浮点数
    string(String): 采用UTF-8编码的字符串

    2.特殊类型(括号内为对应的Java类型):
    binary(ByteBuffer):未经过编码的字节流

    3.Structs(结构):
    struct定义了一个很普通的OOP对象,但是没有继承特性。

    struct UserProfile {
    1: i32 uid,
    2: string name,
    3: string blurb
    }

    如果变量有默认值,可以直接写在定义文件里:

    struct UserProfile {
    1: i32 uid = 1,
    2: string name = "User1",
    3: string blurb
    }

    4.容器,除了上面提到的基本数据类型,Thrift还支持以下容器类型:
    list(java.util.ArrayList):
    set(java.util.HashSet):
    map(java.util.HashMap):

    用法如下:

    struct Node {
    1: i32 id,
    2: string name,
    3: list<i32> subNodeList,
    4: map<i32,string> subNodeMap,
    5: set<i32> subNodeSet
    }

    包含定义的其他Object:

    struct SubNode {
    1: i32 uid,
    2: string name,
    3: i32 pid
    }
    struct Node {
    1: i32 uid,
    2: string name,
    3: list<subNode> subNodes
    }

    5.Services服务,也就是对外展现的接口:

    service UserStorage {
    void store(1: UserProfile user),
    UserProfile retrieve(1: i32 uid)
    }
     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/5034.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享