我正在Laravel 5.7中开发Rest API。我知道如何制作api控制器,以及如何参考控制器中的相应方法定义合适的api资源路由,如下所示:
Route::apiResource('platforms', 'PlatformController');
但是,我不确定在尝试在控制器中定义其他方法而不是五个宁静的控制器方法(索引,存储,显示,更新和删除)时应该使用哪个HTTP请求方法。例如,当我在控制器中定义一个用于在数据库中切换布尔值的函数时,“获取”,“发布”或“放置”方法均有效。那么,哪个是最好的选择?
答案 0 :(得分:3)
此处是基本路线说明 您可以从
了解更多信息┌────────┬─────────┬──────────────────────────────────┬────────────────────────┐
│ HTTP │ CRUD │ ENTIRE COLLECTION (e.g /USERS) │ SPECIFIC ITEM │
│ METHOD │ │ │ (e.g. /USERS/123) │
├────────┼─────────┼──────────────────────────────────┼────────────────────────┤
│ POST │ Create │ 201 (Created), 'Location' │ Avoid using POST │
│ │ │ with header link to /users/{id} │ on single resource │
│ │ │ containing new ID. │ │
├────────┼─────────┼──────────────────────────────────┼────────────────────────┤
│ GET │ Read │ 200 (OK), list of users. Use │ 200 (OK), single user │
│ │ │ pagination, sorting and │ 404 (Not Found), If ID │
│ │ │ filtering to navigate big lists. │ not found or invalid. │
├────────┼─────────┼──────────────────────────────────┼────────────────────────┤
│ PUT │ Update/ │ 404 (Not Found), unless you want │ 200 (OK), or 204 (No │
│ │ Replace │ to update every resource in the │ Content). Use 404 (Not │
│ │ │ entire collection of resource. │ Found). If ID not │
│ │ │ │ found or invalid. │
├────────┼─────────┼──────────────────────────────────┼────────────────────────┤
│ PATCH │ Partial │ 404 (Not Found), unless you want │ 200 (OK), or 204 (No │
│ │ Update/ │ to modify the collection itself. │ Content). Use 404 (Not │
│ │ Modify │ │ Found). If ID not │
│ │ │ │ found or invalid. │
├────────┼─────────┼──────────────────────────────────┼────────────────────────┤
│ DELETE │ Delete │ 404 (Not Found), unless you want │ 200 (OK), 404 (Not │
│ │ │ to delete the whole collection - │ Fpund). If ID not │
│ │ │ use with caution. │ found or invalid │
└────────┴─────────┴──────────────────────────────────┴────────────────────────┘
答案 1 :(得分:0)
这是使用http方法的基本规则,
GET:当您需要获取或检索信息时
POST:需要创建或插入信息时
输入:当您需要更新现有记录时
有关更多信息,您可以使用此链接。
答案 2 :(得分:0)
添加到Lokesh关于Laravel的答案中。 “索引”方法在从数据库检索记录时使用GET REQUEST。 “存储”方法在数据库中存储记录时使用POST REQUEST。 “更新”方法使用PUT REQUEST来更新数据库中的记录。 “显示”方法使用GET REQUEST,因为它从数据库中检索单个记录。 “删除”方法在从数据库中检索单个记录时使用DELETE REQUEST。
因此,如果要更改数据库中的记录,则希望使用POST / PUT REQUEST。切换状态时,标准选项是使用PUT,因为您正在更新记录。