簡體   English   中英

通過GET參數傳遞復雜的數據結構?

[英]Passing complex data structures via GET parameters?

我試圖將列表和映射作為GET參數傳遞,並且我想知道是否可以使用特定的約定(最好是庫)。 具體來說,我想傳遞列表和地圖。

鑒於我們正確地對分隔符(在本例中為逗號)進行URL編碼,列表相對容易一些:

/圖像/小貓?furColors =棕色,黑色

地圖更加復雜。 我看過這樣的東西:

/圖像/小貓?性質[furColors] =棕色,黑色及性質[eyeColors] =藍色

我也看過這樣的東西:

?/圖像/小貓屬性= furColors%3Dbrown,黑色; eyeColors%3Dblue;

我可以遵循的一個好的標准嗎? 另外,我碰巧正在使用Java和Spring(出於無法控制的原因),並且我希望能夠使用一個庫來處理該庫,最好是使用Spring可以解析其字符串的庫。

您可以傳遞JSON數組或對象。 為什么不使用現有的,完善的標准,而不是發明自己的標准?

也許protobuf會更合適。

我寧願做任何可以發展和維護自己的事情。 我很懶。

注意GET請求字符串的1024個字節限制。 您只能如此復雜。

google Commerce搜索api提取頁面,特別是限制部分,他們基本上通過了限制圖,例如

&restrictBy=key1=val1,key2=val2,key3=val3

這與您的選擇非常相似。 我不了解任何已發布的最佳實踐或標准,甚至不敢相信Google的認可與以前一樣重要,但至少已經完成並投入生產。

至於一個庫,可以使用一些時間合適的 String.split,或者您可以查看Guava的MapSplitter

暫無
暫無

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

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