3

アカウントクラスがあり、ユーザーが2つのアカウント間で送金できるように送金画面を実装したいと考えています。

このinsRESTfullの方法をどのように実装しますか?

私はそのための標準的なアカウントと残りのアクションを持っています、それは問題ありません。しかし、どのように転送を実装しますか?

通常、「transfer」(画面をレンダリングするために呼び出される)と「transfer_update」(送信時に呼び出される)というメソッドをアカウントコントローラーと対応するビューに追加するだけですが、これは非常にRESTfullではないと思います。

ありがとうジョエル

4

3 に答える 3

3

あなたは自分のアカウントクラスについて言及していますが、投稿やジャーナルを表すクラスについては言及していません。http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.htmlアーカイブ済み)を参照してください。

参照サイトの言語を使用すると、転送用に作成される「リソース」は、それぞれ異なるアカウントへの2つの投稿で構成されるジャーナル(エントリ)です。したがって、JournalsControllerが必要になります。転送を追加するには、JournalsControllerのインデックスアクションにPOSTします。パラメータには、日付、金額、debit_account、credit_account、受取人、メモなどが含まれます。

AccountsControllerでRESTを使用するのは、アカウントに含まれる投稿(トランザクション)ではなく、アカウントを作成、更新、または削除するためです。

于 2010-12-08T18:06:38.310 に答える
3

転送を実行するためのRESTfulリクエストの例。

POST /transfers HTTP/1.1
Host: restful.bank.com
Content-Type: application/json; charset=utf-8
Accept: application/json

{ "transfer": {
  "source_account_id": "9d2d894c242f391a",
  "destination_account_id": "83ac039d8302abd5"
  "amount": "$200.00"
} }

対応する応答。

HTTP/1.1 201 Created
Date: #{right-now}
Content-Type: application/json; charset=utf-8
Location: https://restful.bank.com/transfers/938ac39cb5ddccfa

{ "transfer": {
  "id": "938ac39cb5ddccfa",
  "href": "https://restful.bank.com/transfers/938ac39cb5ddccfa",
  "source_account_id": "9d2d894c242f391a",
  "destination_account_id": "83ac039d8302abd5"
  "amount": "$200.00"
} }
于 2010-12-10T04:50:10.647 に答える
1

RESTfulWebサービスには、この正確な問題に取り組む方法の良い例があり、さらに良いことに、例はRailsにあります:)

図書館からチェックアウトできない場合は、一体何を購入するか。それほど高価ではなく、RESTとROAの実装方法に関する有用な情報がたくさんあります。

于 2010-12-08T18:06:28.200 に答える