php - PUT 请求失败的 Laravel FormRequest
问题描述
我正在使用 Laravel 5.8 构建一个 RESTful API 我正在使用 FormRequests 来验证用户对我的 POST 和 PUT 请求的输入。POST 工作绝对完美,但 PUT 请求失败并出现以下错误,
“消息”:“函数 App\Http\Requests\ProjectStoreRequest::Illuminate\Foundation\Providers\{closure}() 的参数太少,通过了 0,预期正好 1”
我的 PUT 请求被路由的方法如下所示(URL 是 /api/projects/{id}),
public function update(ProjectStoreRequest $request, $id)
{
$validated = $request->validate();
$project = Project::find($id);
$project->title = $request->title;
$project->due_date = Carbon::parse(strtotime($request->due_date))->format('Y-m-d');
$project->save();
return response()->json(['message' => 'Project updated', 'data' => $project], 200);
}
ProjectStoreRequest 看起来像这样,
class ProjectStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title' => 'required|string',
'due_date' => 'date'
];
}
}
解决方案
推荐阅读
- ruby-on-rails - Graphql-ruby 如何将哈希定义为类型
- python - 在python中为BFS的队列添加多个键值
- jenkins - 每次迭代的 Apache ant 覆盖属性文件值
- r - 折叠R中data.table中的重复行
- python - 通过重命名方法重命名 Pandas 数据框中的列
- java - 如何为 JNI 和 C++ 代码创建适当的 CMakeLists.txt?
- visual-studio-code - 尝试使用 VS Code 从 Azure DevOps 项目克隆存储库时出错
- websphere - 如何使用 Jython 获取所有 websphere 应用程序配置?
- ios - 如何在静态表视图上设置协议和委托?
- azure - 如何在 Azure HDInsight 群集中创建 Pig Latin 作业