为什么我必须在 Laravel 中通过 param 传递数据?

问题描述 投票:0回答:1

我正在使用资源控制器开发 laravel api。我必须使用 PUT 方法来更新某些内容。

当我尝试使用表单数据通过正文传递数据时,会发生验证错误。我必须通过参数传递数据。

这对于 Laravel 资源控制器来说正常吗?如果是这样为什么?

这是我的代码。

public function update(RoleRequest $request, string $id)
{
     $data = Role::find($id);

     $new_data = [
         'name' => $request->name
     ];

     $data->update($new_data);

     return $this->apiResponse(true, 'role updated successfully', $data, 200);
}

这是验证错误。

{
    "success": false,
    "message": "Validation errors",
    "data": {
        "name": [
            "The name field is required."
        ]
    }
}
php laravel controller put
1个回答
0
投票

错误消息很清楚,通过使用 RoleRequest,您可以在请求到达函数的其余部分之前验证请求中输入的参数。这对于确保所需的字段到达非常有用。

您可以进入 RoleRequest 并看到您有所需的字段名称。这意味着失败是由于您的调用请求中没有发送该参数。

© www.soinside.com 2019 - 2024. All rights reserved.