在 RESTful 应用程序中,我们如何区分“动作”和 HTTP 动词(GET
、、、、POST
)?PUT
DELETE
例如,据我了解,GET
对资源的请求/products
应返回所有产品的列表。应创建新产品的POST
请求。/products
那么,用户如何请求用于创建产品的原始表单?我最初的响应是GET
对同一个 URI 的请求,但如上所述,它应该返回所有产品的列表 - 而不是用于创建产品的空白表单。
在我研究过的大多数框架中,这个问题是通过将“动作”作为 URI 的一部分来解决的。例如,POST
请求/products/create
将创建新产品,而GET
请求/products/create
将提供用于创建产品的空白表单。要获得所有产品的列表,将根据所讨论的框架对或、等GET
提出请求。这种方法解决了上面的歧义,但它与我读过的关于传统 REST 设计的内容相冲突。/products
/products/get
/products/read