2013-04-10 50 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