Оцениваю Lurasoft RESTler для проекта и застрял на их примерах - пытаюсь передать JSON структуру через тело post запроса.... У меня есть рабочая установка с передачей данных через URL, но я хотел разобраться с этим post-via-body:
Итак, у меня есть простой метод для обработки POST запросов, определенный в классе UserAccount:
function post($_requestData = null) {
if (is_null($_requestData)) {
throw new RestException(HTTPCODE_NO_CONTENT, "requestData is null");
}
return(array('success' => array('code' => HTTPCODE_OK, 'msg' => $msg)));
}
И я вызываю его с помощью curl:
curl -X POST http://ll2api/userprofile -H "Content-Type: application/json" -d '{"email_pro" : "mshallop@nileguide.com"}'
Я получаю ответ, каждый раз:
{
"error": {
"code": 204,
"message": "No Content: requestData is null"
}
}
Если я использую инструмент, который LuraCast рекомендует на своем сайте для генерации REST запроса, RESTConsole v 4. 0.2, я вижу, где мои данные получаются, когда полезная нагрузка определяется с помощью раздела "параметры запроса", как показано в теле запроса:
Request Url: http://ll2api/userprofile
Request Method: POST
Status Code: 200
Params: {
"email_pro": "mshallop@gmail.com"
}
Наконец, читая их пример, я вижу, где входной параметр "$requestData" разбивается как ассоциативный массив в их методе validate(), рассматривая входной JSON как ассоциативный массив...
Для полноты картины, вот заголовки REQUEST:
Accept: application/json
Accept-Language: en
Content-Type: application/json
Connection: keep-alive
Origin: chrome-extension: //rest-console-id
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.904.0 Safari/535.7
Итак, tl;dr: Чтобы не засорять URL REST запроса, как мне передать JSON данные через тело POST запроса в LuraCast RESTler и забрать указанные переменные в методе?
ссылка на сайт: http://help.luracast.com/restler/examples/_006_crud/readme.html
Буду признателен за любую помощь - это мой первый опыт работы с REST, поэтому я подозреваю, что проблема в pbck/nub...
спасибо!