如何使用Slim框架获取POST请求实体

时间:2014-10-13 18:54:39

标签: php android json httprequest slim

我已经使用android java发送了JSON数据,方法是将它设置在post实体中,如下所示:

HttpPost httpPostRequest = new HttpPost(URLs.AddRecipe);
StringEntity se = new StringEntity(jsonObject.toString());
httpPostRequest.setEntity(se);

如何在我使用json的{​​{1}}中收到此php个数据? 我试过这个:

Slim framework

2 个答案:

答案 0 :(得分:2)

JSON未被解析为$_POST超全局。在$_POST中,您可以找到表单数据。您可以在请求正文中找到JSON。像下面这样的东西应该有效。

$app->post("/recipe/insert/", "authenticate", function() use ($app) { 
    $json = $app->request->getBody(); 
    var_dump(json_decode($json, true));
});

答案 1 :(得分:0)

您需要获得响应正文。将其保存在变量中。之后,验证变量是否为null,然后解码您的JSON。

$app->post("/recipe/insert/", "authenticate", function() use ($app) { 
$entity = $app->request->getBody(); 

if(!$entity)
   $app->stop();

$entity = json_decode($entity, true);

});