【问题标题】:Get data from put request Yii2从 put 请求 Yii2 中获取数据
【发布时间】:2019-03-14 05:40:34
【问题描述】:

我做休息 API。使用 PUT 请求更新数据

http://train-basic/stations/21?name=tt

尝试获取数据:

$request = Yii::$app->request;
$request = $request->post();

$name = $request["name"];
dump($name);

结果,我得到空值。如何解决?

【问题讨论】:

  • 在问题中包含所有必要的信息,而不是提供链接。此外,无法从 Web 访问更多本地 URL。请阅读minimal reproducible exampleHow to Ask
  • $putdata = fopen("php://input", "r"); 或者你可以使用$params = Yii::$app->request->bodyParams;

标签: php rest yii2 httprequest


【解决方案1】:

要获取PUTPATCH请求在请求正文中发送的数据,您应该使用getBodyParam()getBodyParams()

$request = Yii::$app->request;

// returns all parameters
$params = $request->getBodyParams();

// returns the parameter "id"
$param = $request->getBodyParam('id');

https://www.yiiframework.com/doc/guide/2.0/en/runtime-requests#request-parameters

【讨论】:

    【解决方案2】:

    从 PUT 下载的数据,如 POST

    $request = Yii::$app->request;
    $id = $request->get('id');
    $name = $request->get('name');
    $days = $request->get('days');
    

    【讨论】:

    • 如果这行得通,那么您发送请求的方式是错误的(使用 GET 参数而不是请求正文发送数据)。
    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2021-08-11
    • 2017-03-10
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多