以“为产品付费”的RESTful方式

时间:2011-04-03 07:10:07

标签: rest architecture

我正在为我的电子商务网站设计架构。我已经为产品管理设计了RESTful界面,但在我看来,“以产品付费”这一功能在RESTful方面并不那么自然。有人可以给我一个想法吗?如何设计呢?

3 个答案:

答案 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资源,您可以向其发送费用。 (双关语。)