如何获取从PUT方法传递的数据

Kar*_*hik 3 php laravel laravel-5 laravel-5.3 laravel-5.4

我正在为 Laravel 创建一个 API。我使用 PUT 方法来更新数据。

我使用 PUT 方法与 Postman 发送数据。在我的控制器中,我得到了一个空数组。如何访问传递的数据?

在我的路线中,我有:

Route::put('vehicletypes/{id}','API\VehicletypeController@update');
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

public function update(Request $request, $id){

print_r($request->all()); exit;

}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何获取PUT方法中传递的数据?

meg*_*382 9

您得到的是空响应,因为 PHP 对PUT. 但是 Laravel 有一个解决方法。
因此,要解决此问题,您必须改为POST从 Postman发送请求,并使用 valuePOST参数。这应该有效。_methodPUT


小智 5

Laravel 会作弊,因为 html 表单只支持 GET 和 POST,但它确实理解真正的 PUT/PATCH 请求。

问题似乎出在 Symfony 中,如果它是 multipart/form-data,则无法解析数据,作为替代尝试使用 x-www-form-urlencoded content disposition

  • @GhassenLouhaichi 怎么会这样?`尝试使用 x-www-form-urlencoded ...` 似乎是我的答案 (2认同)