使用Slim从HTTP请求获取对象时出错

时间:2015-11-09 17:30:11

标签: php http post http-post slim

我通过POST发送到带有Slim的API-REST,我收到了我的数据但是我无法转换为对象。 看:

header('Content-type: application/json');
    $request = \Slim\Slim::getInstance()->request();
    var_dump($_POST);
    print("<br>");
    print("<br>");
    var_dump($request->getBody());

结果是:

array(11) { ["nombre"]=> string(10) "nom prueba" ["apellido"]=> string(10) "ape_prueba" ["edad"]=> string(2) "20" ["altura"]=> string(3) "190" ["goles"]=> string(3) "200" ["amarillas"]=> string(2) "10" ["rojas"]=> string(1) "5" ["asistencias"]=> string(1) "4" ["partidos"]=> string(3) "100" ["equipos"]=> string(1) "3" ["trofeos"]=> string(1) "2" }

string(136) "nombre=nom%20prueba&apellido=ape_prueba&edad=20&altura=190&goles=200&amarillas=10&rojas=5&asistencias=4&partidos=100&equipos=3&trofeos=2" 

但是,如果我执行json_decode,它不会转换为object:

$received = $request->getBody();
    var_dump(json_decode($received)); // NULL

我该怎么办?什么是最好的方式?

1 个答案:

答案 0 :(得分:1)

请求正文不是JSON格式,因此json_decode不起作用,也不是必需的。您的请求已转换为PHP对象,如var_dump($_POST);的输出所示。您可以使用$_POST['nombre']

访问nombre等参数