我正在使用资源控制器开发 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."
]
}
}
错误消息很清楚,通过使用 RoleRequest,您可以在请求到达函数的其余部分之前验证请求中输入的参数。这对于确保所需的字段到达非常有用。
您可以进入 RoleRequest 并看到您有所需的字段名称。这意味着失败是由于您的调用请求中没有发送该参数。