Транзакции в REST?

139
задан Gili 29 September 2008 в 02:42
поделиться

4 ответа

Рассмотрите УСПОКОИТЕЛЬНЫЙ сценарий корзины покупок. Корзина покупок является концептуально Вашей оберткой транзакции. Таким же образом то, что можно добавить несколько объектов к корзине покупок и затем утверждать, что корзина для обработки заказа можно добавить запись учетной записи Bob's в обертку транзакции и затем запись учетной записи счета в обертку. Когда все части существуют затем, Вы можете POST/помещать обертка транзакции со всеми частями компонента.

85
ответ дан Darrel Miller 29 September 2008 в 02:42
поделиться

У Вас был бы к самокрутке "идентификационный тип" транзакции tx управления. Таким образом, это были бы 4 вызова:

http://service/transaction (some sort of tx request)
http://service/bankaccount/bob (give tx id)
http://service/bankaccount/john (give tx id)
http://service/transaction (request to commit)

необходимо было бы обработать хранение действий в DB (если сбалансированная загрузка) или в памяти или таком, то обработка фиксации, отката, тайм-аута.

Едва ли УСПОКОИТЕЛЬНЫЙ день в парке.

9
ответ дан TheSoftwareJedi 29 September 2008 в 02:42
поделиться

Я предполагаю, что Вы могли включать ЗАГАР в URL/ресурс:

  1. ПОМЕЩАЕТ / транзакцию, чтобы получить идентификатор (например, "1")
  2. [ПОМЕЩЕННЫЙ, СТАТЬ, POST, безотносительно]/1/account/bob
  3. [ПОМЕЩЕННЫМ, ДОБРАТЬСЯ, POST, безотносительно],/1/account/bill
  4. УДАЛЯЕТ / транзакцию с идентификатором 1

Просто идея.

-3
ответ дан Till 29 September 2008 в 02:42
поделиться
  • 1
    я использовал ' uploadProgress' и используемый jquery-ui progressbar. спасибо – Eddard Stark 15 March 2013 в 04:09

Я думаю, что в этом случае полностью приемлемо повредить чистую теорию REST в этой ситуации. В любом случае я не думаю, что существует что-либо на самом деле в REST, который говорит, что Вы не можете коснуться зависимых объектов в экономических моделях, которые требуют его.

я действительно думаю, что это не стоит дополнительных обручей, до которых Вы перешли бы, создают пользовательский менеджер транзакций, когда Вы могли просто усилить базу данных, чтобы сделать это.

2
ответ дан Toby Hede 29 September 2008 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: