【发布时间】:2016-10-07 20:08:38
【问题描述】:
这个网址 http://localhost:8888/api/v1/apartments/delete ,我正在尝试删除一个确定的公寓而不通过 URL 传递 id。我正在使用 POSTMAN 发送数据,但我无法使用 Request 或 Input 类捕获它。
Routes.php
Route::delete('/api/v1/apartments/delete', 'ApartmentApiController@destroy');
ApartmentApiController
public function destroy(Request $request)
{
dd($request->all());
}
在 UPDATE Request 等方法中有效,但在 DELETE 中无效。为什么是这样?我有点好奇,我还没有找到。
像这样删除在 URL 中传递项目 id 是一个好习惯吗?我应该这样做吗? http://localhost:8888/api/v1/apartments/delete/13
【问题讨论】:
-
最好的做法不仅是在删除时在 URL 中包含
id(当您删除错误的内容时更容易从日志中找到发生的情况),而且在删除时需要某种形式的确认任何数据库对象(它可以防止通过 XSS 删除项目)。 -
只是一个旁注,我遇到了邮递员和 Laravel 的问题;通过实际的 post 路由发送数据是可行的,但使用 postman 执行 post 请求则不行。最终不得不切换到不同的 REST 客户端;可能您也遇到过这种情况,但很难确定。
-
@grochmal 这一切都由 JWT 保护,但感谢您的建议。
标签: php api laravel routes httpverbs