Thrift IDL 语法错误 - 接受和 return 映射

Thrift IDL syntax error - accept and return map

我正在写一个 thrift 服务器。其中一个函数应该也接受 map 和 return a map

以下是我的旧文件:

service base{
    map<string, string>    method_1(1: map<string, double>)
}

service child extends base{
    map<string, string>    method_1(1: map<string, double>),
    void                    method_2(1:string path)
}

它说

ERROR: someservice.thrift:4] (last token was ')')
syntax error

而且我不知道语法有什么问题。

你必须命名你的论点

service base{
  map<string, string>    method_1(1: map<string, double> arg1)
}

service child extends base{
  map<string, string>    method_1(1: map<string, double> arg1),
  void                    method_2(1:string path)
}

您已经在 method_2 中正确地完成了参数 (1:string path),但是您在 method_1(1: map<string, double>) 中忘记了 - 这还不够。

顺便说一句,它与地图完全无关。