REST API

REST API

中等

说明

实现一个用于记录 IOU 的 RESTful API。

四个室友经常互相借钱,却总是记不清谁欠谁、欠多少。

你的任务是实现一个简单的 RESTful API,通过 POST 请求接收 IOU,并能通过 GET 请求返回指定的汇总信息。

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>
创建 IOU 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)>}

其他资源

实现

实现RestAPI类的get和post方法。

你只需要编写处理函数,不需要实现真正的 HTTP 服务器。你可以用一个内存中的对象来模拟数据库,其中保存着所有已存储的用户。RestAPI类的构造函数应当接受这个数据库的实例作为实参(如果没有传入实参,则为其设置一个默认值)。

在这份实现中,如果是GET请求,载荷应当作为 URL 的一部分,并像查询参数一样处理,例如/users?users=Adam,Bob。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
JavaScript Exercism

准备好开始 REST API 了吗?

注册 Exercism,借助 37 个概念159 个练习 和真人导师指导,学习并掌握 JavaScript,全部免费。