簡體   English   中英

使用Google Cloud端點進行數據傳輸優化

[英]Data transport optimization with Google cloud endpoints

我正在通過Google Cloud端點從Google App Engine(java)向JavaScript發送List<Item>

Item

public class Item implements Serializable { 

    private String item1;   
    private Integer item2;
    private String item3;   
    //(...) item (4-39)
    private String item40;  

   //Constructor, Getters, setters, +functions

}

在javascript中,我收到的數據具有以下每個項目的結構:

{item1:"v1",item2:"v2"}

同樣在每個對象的末尾,我收到很多我不明白為什么發送的數據。

在此處輸入圖片說明

'?' 數據不是我定義的功能。 我認為這是可序列化的對象函數,但是我不明白為什么發送。

我需要以以下格式發送數據: {"v1","v2"}而不是{item1:"v1",item2:"v2", a lot of functions}以減少數據大小。

我認為可以解決在Java的List<String>中發送數據的問題。

但這有點復雜和“丑陋”,因為例如Item對象的某些屬性是結構化對象。

谷歌雲端點中有沒有描述這種方式發送數據的方法?

有什么方法可以設置端點僅發送“必需的”數據?

首先,我說這不是一個好主意,但是您可以使用轉換器控制對象的序列化方式。 但是,如果使用生成的客戶端庫,則將丟失所有信息-它們只會將事物視為字符串列表。 端點應自動為您壓縮內容,這將有助於節省大量帶寬。 您應該比較兩個完整的5000列表,並准確地節省多少帶寬。 請記住,端點也不會傳輸空屬性,因此,如果未同時設置許多屬性,則會自動節省帶寬。

有關如何使用變壓器的詳細信息,請參見此頁面 基本上,您需要一個class ItemTransformer implements Transformer<Item, List<String>>帶有相關注釋的class ItemTransformer implements Transformer<Item, List<String>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM