Есть ли какая-либо разница в выходе из FieldReq по сравнению с указанием required?В списке параметров.
required
optional выдает предупреждение optional keyword is ignored in argument lists., вероятно, для моего набора языков.
optional
optional keyword is ignored in argument lists.
Thrift не поддерживает необязательные аргументы.Вы можете иметь optional поля в struct и использовать последнее в качестве аргумента:
struct
struct MyArgs { 1: required string req 2: optional string opt 3: string def // this is called "default requiredness" } service Foobar { void DoSomething(1: MyArgs args) }
Разница между тремя вариантами объясняется здесь и здесь .