我正在为我的电子商务网站设计架构。我已经为产品管理设计了RESTful界面,但在我看来,“以产品付费”这一功能在RESTful方面并不那么自然。有人可以给我一个想法吗?如何设计呢?
答案 0 :(得分:4)
支付费用不是幂等的;用户真的关心它发生的频率。因此,它映射到RESTful模型中的POST。然后,这可以导致创建事务的记录,可以由GET等处理。
答案 1 :(得分:2)
幸运的是,REST的一个流行教学示例涉及客户互动 - How to GET a Cup of Coffee。阅读本文应该让您了解如何使用RESTful架构设计界面以支付产品费用。
在RESTful设计中,客户端将通过超媒体引导整个过程。
答案 2 :(得分:0)
面向资源的体系结构侧重于名词而不是动词(与远程方法调用和面向服务的体系结构相比)。从Donal Fellows的回答中得到一个暗示,RMI的想法是“为产品买单”; RESTful的想法是“创建一个事务”。这是在商店购物的意义上的“交易”,但它与数据库类型的“交易”有关。
您还可以将熟悉的“购物车”视为RESTful资源,产品本身也是RESTful资源。 RESTful资源能够“做事”是完全可以的,例如:
POST /cart/{id of cart}/acceptproduct/{id of product}
虽然你可以这样做:
GET /cart/{id of cart}
(将产品添加到购物车的表示中)
PUT /cart/{id of cart}
用户的收费帐户是另一个RESTful资源,您可以向其发送费用。 (双关语。)