Laravel 路由的问题: 路由的四个方法,到底有什么本质区别?请大家指点一下!

GET 获取资源
POST 创建资源
PUT 编辑/更新资源(需提交完整的资源字段)
PATCH 编辑/更新资源(可以提交需要更新的字段)
DELETE 删除资源
OPTIONS 服务器允许哪些请求谓词

上述这些方法都是调用了某个控制器中的方法,但是问题来了:
我在 get 路由导向的控制器方法中,写入删除逻辑,那是不是就是 delete 了。。
他们到底有什么本质区别呢?
我遇到的实际问题是:向后台发送一个运行“预设好的一系列逻辑计算”命令,只传递命令,没有参数,应该用哪个方法?请大家指点一下!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

如果你要使用 GET/POST/PUT/PATCH/DELETE 这些方法那么请遵循Restful风格。请注意Restful只是一种风格,并没有强制你必须怎么做。在GET里写DELETE也没什么问题,你喜欢就好。

Restful讲求的是在概念层面把一切都转化为资源,用URL定位这些资源,全用GET/POST/PUT/PATCH/DELETE来操作些这些资源。

比如你的需求“向后台发送一个运行 “预设好的一系列逻辑计算” 命令”,一般来讲这些逻辑命令并非毫无关联可言,他们要配合在一起完成某个特定的目标(如果不止一个目标,请考虑拆分开)。那么这个目标就是你从概念层面进行转化的目标。

例:给某人点赞。
从Restful的角度来看,赞就是种资源,归属于某人。用URL进行定位就是 /users/1/laud
那么我们要点赞的话怎么点呢? 把“点”这个动作转换成创建 /users/1/laud
最终的成品就是 点赞 = POST /users/1/laud,撤销就是DELETE /users/1/laud
如果是软删除的恢复呢?并没有Restore这种动词怎么办? Google给出的建议是POST /users/1/laud:restore

记住Restful只是种风格,如果没有人要求你必须遵守的话,可以遵守也可以不遵守。

4年前 评论
讨论数量: 6

如果你要使用 GET/POST/PUT/PATCH/DELETE 这些方法那么请遵循Restful风格。请注意Restful只是一种风格,并没有强制你必须怎么做。在GET里写DELETE也没什么问题,你喜欢就好。

Restful讲求的是在概念层面把一切都转化为资源,用URL定位这些资源,全用GET/POST/PUT/PATCH/DELETE来操作些这些资源。

比如你的需求“向后台发送一个运行 “预设好的一系列逻辑计算” 命令”,一般来讲这些逻辑命令并非毫无关联可言,他们要配合在一起完成某个特定的目标(如果不止一个目标,请考虑拆分开)。那么这个目标就是你从概念层面进行转化的目标。

例:给某人点赞。
从Restful的角度来看,赞就是种资源,归属于某人。用URL进行定位就是 /users/1/laud
那么我们要点赞的话怎么点呢? 把“点”这个动作转换成创建 /users/1/laud
最终的成品就是 点赞 = POST /users/1/laud,撤销就是DELETE /users/1/laud
如果是软删除的恢复呢?并没有Restore这种动词怎么办? Google给出的建议是POST /users/1/laud:restore

记住Restful只是种风格,如果没有人要求你必须遵守的话,可以遵守也可以不遵守。

4年前 评论

这个其实和 Laravel 没什么关系,主要是和 RESTful 有关系,具体可以参照这篇文章:RESTful API 是什么

4年前 评论

如果你要使用 GET/POST/PUT/PATCH/DELETE 这些方法那么请遵循Restful风格。请注意Restful只是一种风格,并没有强制你必须怎么做。在GET里写DELETE也没什么问题,你喜欢就好。

Restful讲求的是在概念层面把一切都转化为资源,用URL定位这些资源,全用GET/POST/PUT/PATCH/DELETE来操作些这些资源。

比如你的需求“向后台发送一个运行 “预设好的一系列逻辑计算” 命令”,一般来讲这些逻辑命令并非毫无关联可言,他们要配合在一起完成某个特定的目标(如果不止一个目标,请考虑拆分开)。那么这个目标就是你从概念层面进行转化的目标。

例:给某人点赞。
从Restful的角度来看,赞就是种资源,归属于某人。用URL进行定位就是 /users/1/laud
那么我们要点赞的话怎么点呢? 把“点”这个动作转换成创建 /users/1/laud
最终的成品就是 点赞 = POST /users/1/laud,撤销就是DELETE /users/1/laud
如果是软删除的恢复呢?并没有Restore这种动词怎么办? Google给出的建议是POST /users/1/laud:restore

记住Restful只是种风格,如果没有人要求你必须遵守的话,可以遵守也可以不遵守。

4年前 评论

它只是一种约定的风格、属于一种生态上的规范。

4年前 评论
lochpure

RESTful 设计风格而已,不一定必须准守。

4年前 评论
颠倒的玉石

这个为了好看容易上手,一看delete、就知道这是删除操作等等

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!