使用Laravel Lumen构建API应用程序。 GET(列表)和POST(创建)方法工作正常,但我不能让PUT(更新)和DELETE工作。对于所有测试我都在使用POSTMAN。
路径文件包含:
$app->put('/project/{$id}', [
'as' => 'project-update',
'uses' => 'ProjectsController@update',
function($id) {}
]);
$app->delete('/project/{$id}', [
'as' => 'project-delete',
'uses' => 'ProjectsController@delete',
function($id) {}
]);
Controller正在执行以下操作:
public function update(Request $request, $id){
$project = Project::findorfail($id);
$project->name = $request->input('name');
$project->description = $request->input('description');
$project->completed = $request->input('completed');
$project->save();
return response()->json($project);
}
public function delete($id){
$project = Project::findorfail($id);
$project->delete();
return response()->json('deleted');
}
在POSTMAN中,我正在使用PUT方法进行更新操作,其中JSON主体带有一些更改的文本。我正在使用DELETE方法进行删除操作,但对于这两种方法,我总是得到405方法不允许
我知道你可以使用隐藏字段的表单,但是因为我只想要一个API,这是不相关的。然后我认为它与X-CSRF-TOKEN有关,但尝试了很长一段时间并且无法解决它。有什么想法吗?