3

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

该应用程序的 iOS 版本正在计划中,我正在尝试找出使用现有服务器端代码并​​仅重写图形的最佳方法。

问题是我需要大量数据,理想情况下应该通过 $_POST 数组将数据发送到 GET http 请求中(对不起,如果我不清楚,请随时问我问题)。

我读过这篇文章了解 REST:动词、错误代码和身份验证,这让我更好地理解了 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)

4

1 回答 1

3

要获得多个项目,我会这样做:

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
于 2012-05-31T09:41:58.040 回答