Thrift文件如何定义对象id列表

Thrift file how to define a list of object id

我正在使用 thrift + Go,我的 thrift 文件如下所示:

namespace go user

struct Role {
    1: string id;
    2: string roleName;
}

struct User {
    1: required string id;
    2: required string email;
    3: required string password;
    4: required string name;
    5: optional list<Role.id> roles;
}

当我 运行 : thrift -r --gen go user.thrift

我得到: Type "Role.id" not defined

关于我应该如何实现这一点有什么想法吗?

Role.id不是数据类型

struct User {
    1: required string id;
    2: required string email;
    3: required string password;
    4: required string name;
    5: optional list<string> roles;
}

旁注:

  • set<string> 可能是角色 ID 的更好选择
  • 关于 required:我强烈建议先阅读 this comprehensive summary,其中有一整节都是关于该主题的。