我有一个GAE API端点,一直给我503错误。 API端点正常工作(处理/发布数据到数据存储区),但一旦返回对象,就会抛出此错误:
java.lang.IllegalStateException:无法实例化标准 串行 (oftypecom.google.appengine.repackaged.org.codehaus.jackson.map.ser.std.NullSerializer):Classcom.google.appengine.repackaged.org.codehaus.jackson.map.ser.BasicSeriaiizerFactory 无法访问班级成员 com.google.appengine.repackaged.org.codehaus.jackson.map.ser.std.NullSerializer 使用修饰符"私有"
正在返回的对象是扩展对象( FacebookUser扩展用户)。我认为它可能与访问基类私有变量有关,所以我将所有私有变量声明为protected;我仍然一直收到这个错误。
我有一个其他端点返回一个FacebookUser对象,它工作正常。我将其解释为GAE序列化无法在返回时序列化对象;返回的数据是在一个工作端点中返回的大量相同数据。 API端点正常工作,但一旦返回对象和数据,就会抛出上述错误。
非常感谢任何输入,谢谢!
答案 0 :(得分:1)
所以我明白了。
我在FacebookUser类中有一个名为getToken()的函数。此函数不是私有/受保护变量的getter / setter;它是一个将传入信息处理成令牌的函数。似乎GAE Java API假定getToken是私有变量的getter / setter,称为“token”。由于没有一个名为“token”的私有变量,它抛出了我看到的错误。我在运行另一个没有调用getToken()函数的函数时为getToken()函数抛出错误时想通了。