【问题标题】:Flight PHP PUT method is not getting dataFlight PHP PUT 方法未获取数据
【发布时间】:2016-01-03 12:11:49
【问题描述】:

我希望你很好。

我正在开发库存系统,我正在使用 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)工作正常。

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

【问题讨论】:

  • 试试 json_decode(Flight::request(), true);
  • @devpro 感谢您的评论。但这不起作用......它向我展示了“预期的字符串,给定的对象”(或类似的东西)

标签: php rest postman flightphp


【解决方案1】:

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

如果是这样,请尝试:

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

来源:Flight Docs

【讨论】:

  • 嗨@iaserrat ...这对我有用,部分原因是getBody会生成一个字符串。那么,有没有什么方法或者方法可以读取getBody生成的原始信息呢?我不知道这是否有帮助,但我没有在我的邮递员或我的应用程序中指定标题。感谢您的宝贵时间
  • 我想更新我的最后一条评论。我将 application/json 标头添加到 PUT 包中(使用邮递员),当我尝试获取 $put_Request->data 时,它仍然显示空值。
猜你喜欢
  • 2012-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 2011-09-15
  • 1970-01-01
  • 2022-12-11
  • 2021-02-17
相关资源
最近更新 更多