添加参数以休息GET请求

时间:2012-05-31 08:34:46

标签: rest post get

我有一个运行AS2 / PHP的应用程序。 AS2通过$ _POST数据数组与PHP脚本进行通信,该数组包含sessionkey,userID和一些数据库过滤(sql limit,order by etc.)等数据。

计划推出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请求中将公共参数作为get参数传递吗? (以及PUT / POST的POST)

1 个答案:

答案 0 :(得分: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