我正在评估Lurasoft RESTler是否适用于一个项目,但在他们的示例中遇到了问题--尝试通过post请求的主体传递JSON结构...我已经通过URL传递数据建立了一个工作设置,但我想弄清楚如何通过主体进行数据传输:
因此,在UserAccount类中定义了一个简单的处理POST请求的方法:
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输入视为一个关联数组...
为了完整起见,这是请求头:
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
因此,总之:为了避免 REST 请求的 URL 被堵塞,我应该如何通过 POST 请求的正文传递 JSON 数据到 LuraCast RESTler,并在方法中获取这些变量?
参考网站:http://help.luracast.com/restler/examples/_006_crud/readme.html 非常感谢您的帮助 - 这是我第一次尝试 REST,所以我怀疑我的问题是 pbck/nub...
谢谢!