java - 关于thrift函数返回列表

标签 java thrift

我有 Thrift 服务,其函数返回对象 ABC 列表:

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++编写 我打印出服务器端返回的结果,在getABCByUser的响应中ABC实例中的数据不为空。

在java编写的客户端上如何: 我在java端的thrift生成的代码中设置了断点,ABC实例中的数据为空,其他字段不为空。 这看起来像是客户端的问题。知道如何解决这个问题吗?

提前致谢!

最佳答案

我也遇到和你一样的问题。我发现如果删除list前面的“可选”修饰符,返回值就会正确。但我不知道为什么我们不能在列表前使用“可选”。

关于java - 关于thrift函数返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052957/

相关文章:

java - 查看类中是否存在字段

java - 如何构建一个存储图片的对象?

c - 为什么我的 Thrift (c_glib) 客户端失败并出现 "invalid pointer"错误?

java - 有没有一种简单的方法可以将 Excel 内联字符串转换为 Java 中的共享字符串表?

java - 如何使用 MigLayout?

websocket - 何时在 WebSocket 上使用 RPC?

range - 在 Cassandra 中加载 range_slices 时出现问题

java - 为什么我收到 java.lang.AbstractMethodError 错误?

java - Apache 节俭 : Serializing data

java - 反射和不变性应该如何协同工作