借用書を管理するRESTful APIを実装します。
4人のルームメイトは、お互いに頻繁にお金を貸し借りするのが癖で、誰が誰にいくら借りているのかを覚えておくのに苦労しています。
ここでの課題は、借用書をPOSTリクエストとして受け取り、GETリクエストで指定された集計情報を返せるシンプルなRESTful APIを実装することです。
{
"name": "Adam",
"owes": {
"Bob": 12.0,
"Chuck": 4.0,
"Dan": 9.5
},
"owed_by": {
"Bob": 6.5,
"Dan": 2.75
},
"balance": "<(total owed by other users) - (total owed to other users)>"
}
| 説明 | HTTPメソッド | URL | ペイロード形式 | ペイロードなしのレスポンス | ペイロードありのレスポンス |
|---|---|---|---|---|---|
| ユーザー情報の一覧 | GET | /users | {"users":["Adam","Bob"]} |
{"users":<List of all User objects>} |
{"users":<List of User objects for <users> (sorted by name)} |
| ユーザーの作成 | POST | /add | {"user":<name of new user (unique)>} |
N/A | <User object for new user> |
| 借用書の作成 | POST | /iou | {"lender":<name of lender>,"borrower":<name of borrower>,"amount":5.25} |
N/A | {"users":<updated User objects for <lender> and <borrower> (sorted by name)>} |