Laravel 5.6 RESTful Web 服务更新和删除
Laravel 5.6 RESRful Webervice update and delete
我尝试在 Laravel 5.6 中构建 RESTful API,现在我还想使用 PUT 和 DELETE 请求删除和更新我的数据库条目。如果我使用此代码,我不会出错,我总是会收到 "Updated" 或 "Deleted" 消息,但数据库永远不会改变。
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Car $car
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $number)
{
$bus = Bus::findOrFail($number);
$bus->update($request->all());
return response()->json(["message" => "Updated"]);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Car $car
* @return \Illuminate\Http\Response
*/
public function destroy($number)
{
Bus::find($number)->delete();
return response()->json(["message" => "Deleted"]);
}
}
routes/api.php
Route::get('bus', 'BusController@index');
Route::post('bus', 'BusController@store');
Route::put('bus/{number}', 'BusController@update');
Route::delete('bus/{number}', 'BusController@delete');
LARAVEL BLADE
如果您使用 Laravel blade,只需在开头添加 method_field
(PUT/DELETE) 和 csrf_field
形式,类似于以下内容:
<form action="bus/<your_id_or_number>" method="post" enctype="multipart/form-data">
{{ method_field('PUT') }}
{{ csrf_field() }}
... rest of your code ...
</form>
POST男人 API
1. 如果您在邮递员上测试 API,请将 API 方法更改为 POST 并使用 key=_method 和 value=PUT 添加一个新的 field/parameter ,如下图所示:
2. 或在正文部分使用 x-www-form-urlencoded
,方法类型默认为 PUT/DELETE,例如:
我尝试在 Laravel 5.6 中构建 RESTful API,现在我还想使用 PUT 和 DELETE 请求删除和更新我的数据库条目。如果我使用此代码,我不会出错,我总是会收到 "Updated" 或 "Deleted" 消息,但数据库永远不会改变。
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Car $car
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $number)
{
$bus = Bus::findOrFail($number);
$bus->update($request->all());
return response()->json(["message" => "Updated"]);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Car $car
* @return \Illuminate\Http\Response
*/
public function destroy($number)
{
Bus::find($number)->delete();
return response()->json(["message" => "Deleted"]);
}
}
routes/api.php
Route::get('bus', 'BusController@index');
Route::post('bus', 'BusController@store');
Route::put('bus/{number}', 'BusController@update');
Route::delete('bus/{number}', 'BusController@delete');
LARAVEL BLADE
如果您使用 Laravel blade,只需在开头添加 method_field
(PUT/DELETE) 和 csrf_field
形式,类似于以下内容:
<form action="bus/<your_id_or_number>" method="post" enctype="multipart/form-data">
{{ method_field('PUT') }}
{{ csrf_field() }}
... rest of your code ...
</form>
POST男人 API
1. 如果您在邮递员上测试 API,请将 API 方法更改为 POST 并使用 key=_method 和 value=PUT 添加一个新的 field/parameter ,如下图所示:
2. 或在正文部分使用 x-www-form-urlencoded
,方法类型默认为 PUT/DELETE,例如: