2016-07-18 21 views
0

我正在設計一個REST調用,該調用應爲位置(緯度/經度)傳遞信息並考慮用戶上下文/配置。REST API設計:使用GET進行復雜查詢

由於用戶屬性的數量很高且嵌套,我不確定,設計新查詢(GET與POST)的正確方法是什麼。目前我們使用簡單的POST請求 - 查詢有效載荷可能看起來像這樣,但是對於每個用戶來說都是自定義且非常不同的。它還包含多個配置項目的數組。目前,該請求是這樣的:

POST http://api.something.com/locationInformation

{ 
    "location": { 
    "accuracy": 30, 
    "coordinates": [ 
     16.34879820048809, 
     48.230067741347334 
    ], 
    "provider": "network", 
    "timestamp": "2016-01-06T12:00:00.000Z" 
    }, 
    "userConfiguration": [ 
    { 
     "id": "asdfasdfasdfs09898sdf", 
     "values": [ 
     "false" 
     ] 
    }, 
    { 
     "id": "iojkljio230909sdjklsdf", 
     "values": [ 
     "99jkjiouio89", 
     "sdfilkjöjfoi093s09sdf" 
     ] 
    } 
    ] 
} 

所以我的問題是:這是在這樣的情況下,確定以「濫用」,以便查詢信息的POST請求?

有沒有一種優雅的方式來使用GET請求來傳遞這樣的數據?

+0

http://stackoverflow.com/questions/38434872/rest-api-design-complex-query-with-get –

回答

0

是的,你可以通過傳遞給請求頭來傳遞這個數據。 使用header()方法。初始化一個字符串變量,如String data=//your json;,並在構建請求時將其傳遞給客戶端中的標頭,如下所示header("data",data)

+0

好吧,在技術上我可以......但這似乎並不打算練習我!! – dergerhard

+0

這當然不是!但我看到開發人員如果需要的話。 – Utkarsh