2012-05-31 137 views
1

我與AS2/PHP運行的應用程序。 AS2通過$ _POST數據陣列與PHP腳本進行通信,該數組包含sessionkey,userID和某些數據庫過濾(sql limit,order by etc.)等數據。添加參數休息GET請求

該應用程序的iOS版本計劃完成,我試圖找出使用現有服務器端代碼並​​僅重寫圖形的最佳方法。

問題是我需要大量的數據,理想情況下應該通過$ _POST數組發送到GET HTTP請求(抱歉,如果我不清楚,請不要猶豫,問我問題)。

我讀過這篇文章Understanding REST: Verbs, error codes, and authentication這讓我更好地理解REST應該如何工作的,但我需要向服務器發送更多的數據。

例如,假設我想獲取項目的集合,該請求將是這樣的:

GET http://xxx/rest/item 

但我怎麼告訴我想只檢索X服務器來自集合的元素,甚至是我想要的排序順序?以前對你的答案

編輯

感謝: @laurent,這裏的腳本POST參數的接收。例如:

// COMMON PARAMETERS (each script) 
$idPROF  = Utils_Mv::getVariablePOST('idPROF'); 
$idVISITE = Utils_Mv::getVariablePOST('idVISITE'); 
$typeConnexion = Utils_Mv::getVariablePOST('typeConnexion'); 
$typeSupport = Utils_Mv::getVariablePOST('typeSupport'); 
$cleSession  = Utils_Mv::getVariablePOST('cleSession'); 
$idCLIENT = Utils_Mv::getVariablePOST('idCLIENT'); 
$idCONTEXTE = Utils_Mv::getVariablePOST('idCONTEXTE'); 

    // SCRIPT-SPECIFIC PARAMETERS 
$idSUIVI  = (int) Utils_Mv::getVariablePOST('idSUIVI'); 
$nbPrescription = (int) Utils_Mv::getVariablePOST('nbPrescription'); 
$indiceDebut = (int) Utils_Mv::getVariablePOST('indiceDebut'); 
$critereTri  = Utils_Mv::getVariablePOST('critereTri'); 
$isTriInverse = Utils_Mv::boolval(Utils_Mv::getVariablePOST('isTriInverse')); 
$chaineFiltres = Utils_Mv::getVariablePOST('chaineFiltres'); 

您會通過共同的參數得到GET請求參數? (和POST的PUT/POST)

回答

1

要獲得一個以上的項目,我會做這樣的事情:

GET http://example.com/items/1_2_3_4 

其中,1,2,3,4是該項目的ID。得到的只是一個項目,你會怎麼做:

GET http://example.com/items/1 

對於排序順序,我會做這樣的查詢參數。通常,REST URL應該指向一個資源或多個資源。任何額外的排序次序,資源格式等應該是查詢參數:

GET http://example.com/items/1_2_3?order=by_name 
+0

以及「憑據」數據呢?如會話密鑰,客戶端ID或請求所需的其他任何數據,但不直接過濾結果? – kitensei

+0

@Kitensei,會話密鑰也應該是一個查詢參數,因爲它可能需要GET和POST請求。不知道客戶端ID - 你不能從會話密鑰中派生出來嗎?如果不是,它應該也可能是一個查詢參數。 –

+0

我已經編輯了我的問題來顯示我用來發送/接收的參數,應用程序已經很大,並且我沒有開發,所以我做的最少的修改就是最好的。 – kitensei