thrift是一種跨語言的RPC框架,為了保證在各種語言下都能正確表述,IDL語言在設計的時候就只能選取各種語言的共性。
比如對於null,雖然在java中定義一個字段為Integer類型,那么這個字段就可以為null,但thrift不允許primitive類型的數據字段為null,因為在c/c++的struct的字段中沒有null的概念。做為方法的參數傳遞,primitive類型也是同樣的道理。
所以thrift client 發送調用服務方法時,如果方法的參數類型為Integer,你即使將該參數設置為null,服務端收到的值也不是null,而是0.
