Flight PHP PUT方法无法获取数据

时间:2016-01-03 02:47:42

标签: php rest postman flightphp

我希望你很好。

我正在开发一个库存系统,我正在使用FlightPHP来创建REST,因为它非常轻,以前我曾在其他项目中工作过。

但是现在,我遇到了这个框架的问题,我试图为这个问题找到一个可能的解决方案,但我做不到。

首先,我将粘贴我正在使用的部分代码

Flight::route('PUT /proveedores/', function() {

    $put_request = Flight::request();

    $Proveedor = new Proveedor(
        $put_request->data->RazonSocial,
        $put_request->data->RFC,
        $put_request->data->Domicilio,
        $put_request->data->Numero,
        $put_request->data->Colonia,
        $put_request->data->Municipio, 
        $put_request->data->Estado,
        $put_request->data->Pais,
        $put_request->data->CodigoPostal,
        $put_request->data->CondicionPago,
        $put_request->data->Plazo,
        $put_request->data->CorreoElectronico,
        $put_request->data->Contrarrecibos,
        $put_request->data->Observaciones
    );

    $Proveedor->setID($put_request->data->IDProveedor);

    $Updated = ProveedoresController::updateProveedor($Proveedor);

    if($Updated) {
        Flight::halt(200);
    } else {
        Flight::halt(500);
  }
});

如您所见,代码很容易理解。我有一个PUT方法在/ proveedores / path中工作,然后,我收到读取HTTP数据包的每个字段的请求(我不想指定下面的代码,因为我测试了它,问题不是在该部分)。

问题是当我从Flight :: request方法获取数据时,我得到NULL值。我用POSTMAN和我的应用程序测试了它,我仍然遇到了这个问题。我不知道发生了什么,因为我正在使用的另一种方法(例如GET,POST和DELETE)正常工作。

Pd积。对不起,如果我的英语不好,我希望你能理解我的情况并帮助我解决这个问题

1 个答案:

答案 0 :(得分:0)

您确定要将请求作为application / json内容类型发送吗?

如果是这样,请尝试:

$body = Flight::request()->getBody();

来源:Flight Docs