我是 Thrift 的新手,非常感谢编写 Thrift 生成器文件的一些帮助。我想使用具有多种语言的许多客户端的 Java 服务器。我正在使用 Thrift 自动生成这些文件。
这是我的 Thrift 文件:
namespace php example
namespace py example
namespace csharp example
namespace cpp example
namespace perl example
namespace d example
namespace java javaobjectmethods
struct ExternalLibraryItem {
1: required string name
}
service ExampleService {
list<ExternalLibraryItem> javaObjectMethod(1:i32 count)
}
我在包 javaObject 中有一组单独的 Java 文件,而 javaObjectMethod 是包中的方法之一。但是,此方法返回一个由外部库实例化的对象。如何在没有以下内容的情况下将其写入 Thrift 文件:
struct ExternalLibraryItem {
1: required string name
}
它目前不会让我在没有这一行的情况下生成服务器文件。
这是我的 Java 文件:
package javaobjectmethods;
import externalLibrary.ExternalLibaryItem;
import externalLibrary.ExternalLibraryClass;
public class javaObject {
private String file;
public javaObject(String file) {
this.file = file;
}
public List<ExternalLibraryItem> javaObjectMethod(int count) {
// this method returns List<ExternalLibraryItem>
return ExternalLibraryClass.doThis(count, this.file);
}
}