1

我希望你很好。

我正在开发库存系统,我正在使用 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);
  }
});

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

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

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

4

1 回答 1

0

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

如果是这样,请尝试:

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

资料来源:飞行文件

于 2016-01-03T04:11:49.893 回答