Как получить объект POST-запроса, используя Slim Framework

я отправил JSON данные с помощью Android Java, установив его в сущности сообщения, как это:

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

Как я могу получить это json данные в php где я использую Slim framework ?
Я попробовал это:

$app->post('/recipe/insert/', 'authenticate', function() use ($app) {
$response = array();
$json = $app->request()->post();
});

2

Решение

JSON не разбирается в $_POST суперглобальный. В $_POST Вы можете найти данные формы. JSON вы можете найти в теле запроса вместо этого. Что-то вроде следующего должно работать.

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

Другие решения

Вам нужно получить ответное тело. Сохраните его в переменной. После этого убедитесь, что переменная имеет значение null, а затем декодируйте ваш JSON.

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

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

$entity = json_decode($entity, true);

});
0

По вопросам рекламы [email protected]