簡體   English   中英

將參數從JavaScript(jQuery)傳遞到基於Java的REST服務的最佳實踐?

[英]Best practises to convey parameters from JavaScript (jQuery) to a Java based REST service?

我制作了一個基於jQuery的小部件,其配置如下:

jQuery("#foo").widget("service", {
    output : "test_output_field",
    parameters : {'format' : 'json',
                    'limit' : 20,
                    'services' : {'service1' : {},
                                'service2' : {'language' : 'en', 'type' : 'solid', 'parent' : 'father'},
                                'service3' : {'type' : 'big', 'strict' : 'true', 'filter' : 'all' }
                                }
    }
});

像'format'和'limit'這樣的參數很容易處理。 我只是將它們放在查詢字符串中。

服務配置部分是問題所在。 唯一不變的是,存在數量不定的服務(此處為“ service1-3”),且參數數量不同(特定於特定服務)。

我試圖用JSON字符串配置它們,但是可用於Java的解析器充其量是可怕的。 我可以將配置解析為url參數(例如&service2_language = zh-CN),但是url可能會變得太長而無法處理。

你會怎么做?

可用於Java的[JSON]解析器充其量是可怕的。

不知何故,我很難相信這一點。 您使用的是哪個解析器,這是什么問題?

其中包含JSON數據的長URL確實會引起潛在的問題(例如,長度,轉義等),因此,您實際上應該對正文中的數據使用POST方法。 我仍然要說JSON是序列化的最佳選擇,因為Java原生支持JSON。 您是使用jQuery還是Prototype進行客戶端序列化?

YAML是另一個相當簡單的選項。 盡管Yaml實施中有時也會出現差異,但我使用snakeyaml進行Java YAML解析。

暫無
暫無

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

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