2016-01-17 38 views
1

我想讓我的應用程序的用戶使用查詢生成器指定搜索參數。 像這樣 http://dncrews.com/angular-elastic-builder/examples/ 或者這 http://mfauveau.github.io/angular-query-builder/獲取大量參數的RESTful列表

前端這是寫在AngularJS comunicates通過HTTP與後端。 在後端我想實現RESTful API。 而我無法找到任何recomendations如何以RESTful的方式獲得大量搜索參數的列表(通常通過HTTP GET請求回顧)。 在我的情況下,用戶可以構建將耗盡URL長度限制的查詢。因爲這我不能使用GET請求類型。

回答

0

一個常見的方法是使用POST創建一個包含所有參數的/search-criteria資源。然後使用查詢參數?searchCriteria={id}執行GET

+0

我喜歡這種方法,但它需要2個請求到服務器。也許創建資源/搜索,它會在通過POST接收查詢後返回結果? –

+0

如果您選擇,您可以這樣做。嚴格地說,它是RPC而不是RESTful,但這不是一種不常見的方法。對於非常複雜的搜索條件,您可能希望允許用戶記住他們的選擇,以便他們不必重新輸入。另外,我非常懷疑這兩個請求對於最終用戶來說是顯而易見的,但這就是測試的目的。 –

+0

我擔心更多關於服務器處理的其他請求。 我希望將保存的搜索查詢作爲單獨的資源實施。因此,用戶可以存儲模板並重新使用它們,或者修改查詢並請求不同的搜索配置,而無需存儲它 –

1

簡單,使用POST。它對數據量沒有任何限制。