RESTful способ «оплатить товар» - PullRequest
4 голосов
/ 03 апреля 2011

Я разрабатываю архитектуру для своих сайтов электронной коммерции.Я разработал интерфейс RESTful для управления продуктами, но, на мой взгляд, функция «платить за продукт» не так уж естественна в RESTful.Может ли кто-нибудь дать мне идею?Как его оформить?

Ответы [ 3 ]

4 голосов
/ 03 апреля 2011

Оплата за вещи не идемпотентна; пользователи действительно заботятся о том, как часто это происходит. Таким образом, он сопоставляется с POST в модели RESTful. Это может привести к созданию записи о транзакции , которая может быть обработана GET и т. Д.

2 голосов
/ 04 апреля 2011

К счастью, один из популярных учебных примеров для REST касается взаимодействия с клиентами - Как получить чашку кофе . Чтение, которое должно дать вам представление о том, как разработать интерфейс для оплаты продукта с использованием архитектуры RESTful.

В RESTful-дизайне клиент будет руководствоваться гипермедиа в процессе.

0 голосов
/ 04 апреля 2011

Ресурсно-ориентированная архитектура ориентирована на существительные, а не на глаголы (в отличие от удаленного вызова методов и сервис-ориентированной архитектуры). Если взять подсказку из ответа Донала Феллоуз, идея 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, на который можно размещать платежи. (Пун намеревался.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...