【发布时间】:2017-07-28 20:48:42
【问题描述】:
我有一个 Laravel Lumen API。我发现更新功能存在问题。
在我的控制器中,更新项目的代码是:
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required',
'description' => 'required',
'completed' => 'required',
]);
$todo = Todo::find($id);
$todo->name = $request->name;
$todo->description = $request->description;
$todo->completed = $request->completed;
$todo->save();
return response()->json(['status' => 'success']);
}
我可以使用以下方法更新待办事项:
http://lumen-todo.app/api/51?name=test&description=test&completed=1
但是希望我可以像这样在 json 正文中发送参数
PUT http://lumen-todo.app/api
{
"id": 1
"name": "Test",
"description": "Test",
"completed": 1,
}
对于添加项目,它通过 json body 工作,所以不明白为什么它不适用于更新。有关信息,“添加项目”控制器代码在这里:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'description' => 'required',
'completed' => 'required'
]);
$todo = new Todo();
$todo->name = $request->name;
$todo->description = $request->description;
$todo->completed = $request->completed;
$todo->save();
return response()->json(['status' => 'success']);
}
【问题讨论】: