2013-04-10 25 views
1

我需要存储通常超过500个字符的字段。使用字符串数据类型时,App Engine会失败,并建议在这种情况下使用com.google.appengine.api.datastore.Text数据类型。Cloud Endpoints支持超过500个字符的文本字段

当这样做时,Android客户端失败,出现以下:

AndroidRuntime标签:java.lang.IllegalArgumentException异常:通过而引起的原始类,但有:类com.sample.sampleproj.sampleendpoint.model。 com.google.api.client.util.Data.parsePrimitiveValue上的文本(Data.java:4 53)

字符串值如何能够存储在App Engine中并且受Cloud端点支持?

+0

我不知道一个好的解决方案,所以我认为你必须将你的数据存储实体从你的端点类中分离出来,以便你可以在数据存储中存储文本并在你使用的bean中使用String与您的端点。 – Tom 2013-04-10 20:31:44

+0

谢谢。我以前很怕那个。 – jdub 2013-04-11 00:16:56

回答

0

数据存储有文档限制 - 字符串500个字符。你可以绕过它通过使用文本(或无索引字符串,因为文字已被弃用,我相信)。但是这只包括从数据存储保存/读取数据。

对于端点方法单参数有500个字符的无文档限制。这意味着如果您向该方法发送某个对象,该对象在序列化之后占用的空间多于500个字符,则该方法将失败。

我没有通过使用servlet绕过它。看我的问题here

相关问题