我有一个使用 AS2/PHP 运行的应用程序。AS2 通过 $_POST 数据数组与 PHP 脚本通信,该数组包含 sessionkey、userID 等数据和一些数据库过滤(sql limit、order by 等)
该应用程序的 iOS 版本已计划推出,我正在尝试找出使用现有服务器端代码并仅重写图形的最佳方法。
问题是我需要大量数据,理想情况下应该通过 $_POST 数组将数据发送到 GET http 请求中(如果我不清楚,请随时向我提问)。
我读过这篇文章《理解 REST:动词、错误代码和身份验证》,这让我更好地理解了 REST 应该如何工作,但我需要将更多数据发送到服务器。
例如,假设我想检索项目集合,请求将类似于:
GET http://xxx/rest/item
Run Code Online (Sandbox Code Playgroud)
但是我如何告诉服务器我只想从集合中检索 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');
Run Code Online (Sandbox Code Playgroud)
您会将公共参数作为 GET 请求的 get 参数传递吗?(以及 PUT/POST 的 POST)
要获得不止一件物品,我会这样做:
GET http://example.com/items/1_2_3_4
Run Code Online (Sandbox Code Playgroud)
其中 1、2、3、4 是项目 ID。要只获得一件物品,您可以这样做:
GET http://example.com/items/1
Run Code Online (Sandbox Code Playgroud)
对于排序顺序,我会将其作为查询参数。一般来说,REST URL 应指向一个或多个资源。任何额外的东西,比如排序顺序、资源格式等都应该是一个查询参数:
GET http://example.com/items/1_2_3?order=by_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15658 次 |
| 最近记录: |