2012-05-31 4 views
1

У меня есть приложение, работающее с AS2/PHP. AS2 взаимодействует с PHP-скриптами с помощью массива данных $ _POST, этот массив содержит данные типа sessionkey, userID и некоторую фильтрацию базы данных (лимит sql, порядок и т. Д.)Добавление параметров для отдыха GET-запрос

Планируется iOS-версия приложения и Я пытаюсь найти лучший способ использовать существующий код на стороне сервера и переписать только графику.

Проблема в том, что мне нужно много данных, данные, которые в идеале должны быть отправлены через массив $ _POST в HTTP-запрос GET (извините, если я не понимаю, не стесняйтесь задавать мне вопросы).

Я прочитал это сообщение Understanding REST: Verbs, error codes, and authentication, что заставило меня лучше понять, как работает REST, но мне нужно больше данных, отправляемых на сервер.

Например, предположим, что я хотел бы получить коллекцию элементов, запрос будет что-то вроде:

GET http://xxx/rest/item 

Но как я могу сказать серверу, что я хотел бы получить только X элементы из коллекции или даже какой порядок сортировки я бы хотел?

Благодаря ранее за ответы

EDIT: @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 являются идентификаторами пункт. Чтобы получить только один предмет, вы бы сделали:

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

Для порядка сортировки я бы сделал этот параметр запроса. В общем случае URL-адрес REST должен указывать на ресурс или несколько ресурсов. Любой дополнительный, такой как порядок сортировки, формат ресурса и т. Д., Должен быть параметром запроса:

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

и как насчет данных «учетных данных»? как ключ сеанса, идентификатор клиента или любые другие данные, необходимые для запроса, но не напрямую фильтруют результат? – kitensei

+0

@ Kitensei, ключ сеанса также должен быть параметром запроса, поскольку он может потребоваться как для запросов GET, так и для POST. Не уверен в идентификаторе клиента - вы не можете получить его из ключа сеанса? Если нет, возможно, это тоже параметр запроса. –

+0

Я отредактировал свой вопрос, чтобы показать параметры, которые я использую для отправки/получения, приложение уже огромно и не было разработано мной, поэтому чем меньше изменений я делаю, тем лучше. – kitensei

Смежные вопросы