我在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
答案 0 :(得分:0)
$body=$request->getBody();
$body_data[]=json_decode($body,true);
foreach ($body_data as $r){
$value=``$r["parameter"];
}