如何使用Slim框架从POST请求访问JSON元素的值?

时间:2019-06-27 09:59:28

标签: php json apache post slim

我在Raspberry Pi上运行Apache2服务器,并且尝试用JSON正文响应POST请求时遇到问题,我想将JSON的三个元素提取为三个变量,并且然后将这三个变量作为响应并附加一些文字。我尝试在此服务器上使用GET请求,它们可以正常工作,所以我认为这不是配置问题,而是与代码相关的问题:

<?php

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;


require 'vendor/autoload.php';


$app->post('/movimiento/', function(Request $request, Response $response) {


    // Obtenemos los parámetros del body

    // Que vienen codificados en JSON

    $bodyPost = $request->getParsedBody();  
    $vi = $bodyPost['vi'];   
    $vd = $bodyPost['vd'];   
    $servo = $bodyPost['servo'];


    $response->getBody()->write("Velocidad izquierda: $vi , Velocidad derecha: $vd , Servo: $servo");

    return $response

});

$app->run();

?>

因此,如果我使用Postman这样写请求: Postman

我期望得到这样的答复: Velocidad izquierda:50,Velocidad derecha:75,Servo:90

但是,我得到一个空响应: empty response

1 个答案:

答案 0 :(得分:0)

您可以这样使用

$body=$request->getBody();
$body_data[]=json_decode($body,true);
foreach ($body_data as $r){
$value=``$r["parameter"];
 }