2014-01-05 58 views
1

因爲我發現很難解釋我在標題中的問題,所以我會稍微解釋一下: 我想/我在寫一個JAX-RS Web服務(Jersey/Servlet3.0)以及用於地理用例的相應JS庫。 Web服務的輸入是兩個地理點(緯度,經度)的列表(來源爲&目標點),每個點都有一個參數列表。由於點數基本上沒有限制,我不知道如何將URL長度限制和參數列表的無限性結合起來。永久REST網絡服務網址有很多很長的參數

這裏又是限制:

  1. 輕鬆共享URL(因此POST可能不會頗被砍呢?)社交媒體共享,當然容易調試
  2. 一個示例配置可以看出here的請請注意,可以嵌套參數集(第1點有自己的參數)
  3. 需要能夠集成到外部網站(具有書籤網址)
  4. 不是所有的參數都是強制性的,什麼是最好的通向處理默認值/缺失值?

我認爲到目前爲止是:

  • 創建參數一大堆
  • jsonify通過URL參數配置,並將其發送給服務器

但我不真的很喜歡這些選項。我錯過了什麼嗎? 對不起,這個模糊的問題。 丹尼爾

回答

3

確定將您的點

  1. 輕鬆共享爲什麼不實行TinyURL的或bit.ly風格共享系統 - 很明顯,你不能同時擁有一個易於傳遞的URL(一可以很容易地向服務器提供詳細信息的URL)(易於共享(人性化且簡短) - 但您可以非常輕鬆地將結果(或每次輸入和計算)保存到數據庫並將其鏈接到tinyURL。

    作爲預留POST將是處理這種由於數據量的唯一方法。

  2. 只是通過爲JSON - 易窩paramaeters這樣

  3. 有點不演這個角色 - 一個外部網站使用此,他們可以發佈的數據,並返回的答案 - 或使用點1的方​​法'tinyurl/bit.ly風格系統它可以在iframe中調用?

  4. 你會在服務器端處理缺少的參數/默認值 - 爲每個參數創建一個函數 - 如果參數是預期的然後拋出錯誤 - 如果參數有一個默認包括這個在你的函數中,如果參數不包括然後don不運行該功能。

希望有道理嗎?