如何包含来自不同微服务的 thrift 文件

How to include a thrift file from a different micro service

我是微服务和 thrift 世界的新手,我想知道如何包含来自不同微服务的 thrift 文件。 前任: 在我的 user 微服务中,我有

namespace go user


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

在我的 order 微服务中,我有

namespace go order


struct Order {
    1: required string id;
    2: required string orderNumber;
}

如果我还希望我的用户结构具有 Order 的列表,我如何将它包含在我的 order 微服务中?

谢谢

您需要包含文件,引用带有包含前缀的类型,如下所示:

namespace go user

include "order.thrift"

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

推荐阅读:https://thrift.apache.org/docs/idl.html, escpecially this example