我有一个函数返回对象ABC列表的thrift服务:
struct ABC
{
1: string user_id;
2: string foo;
3: optional list<string> data;
}
list<ABC> getABCByUser(1:required string user_id, 2:i32 limit,3:i32 pageId, 4:string lastDocID)
throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te)
服务器端由c ++编写 我打印出服务器端返回的结果,ABC实例中的数据在getABCByUser的响应中为非空。
在客户端如何用java编写: 我在java端的thrift生成的代码中设置了断点,ABC实例中的数据为null,其他字段不为null。 它看起来像是客户端的一个问题。知道如何解决这个问题吗?
提前感谢!
答案 0 :(得分:1)
我遇到了同样的问题。我发现如果删除&#34;可选&#34;列表前的修饰符,返回值将是正确的。但我不知道为什么我们不能使用&#34;可选&#34;在列表之前。
答案 1 :(得分:0)
如果您认为自己可能发现了错误,请打开JIRA票证并添加可重现的测试用例。这使其他人更容易看到它。谢谢!