REST API

REST API

متوسط

دستورالعمل‌ها

یک API رست‌فول برای پیگیری بدهی‌ها پیاده‌سازی کنید.

چهار هم‌خانه عادت دارند مدام از یکدیگر پول قرض بگیرند و یادشان نمی‌آید چه کسی به چه کسی و چه‌قدر بدهکار است.

وظیفه‌ی شما پیاده‌سازی یک API رست‌فول ساده است که بدهی‌ها را به‌صورت درخواست‌های POST دریافت می‌کند و می‌تواند اطلاعات خلاصه‌ی مشخصی را از طریق درخواست‌های 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 نشانی قالب داده‌ی ارسالی پاسخ بدون داده پاسخ همراه با داده
فهرست اطلاعات کاربران 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)>} ناموجود <User object for new user>
ایجاد بدهی POST /iou {"lender":<name of lender>,"borrower":<name of borrower>,"amount":5.25} ناموجود {"users":<updated User objects for <lender> and <borrower> (sorted by name)>}

منابع دیگر

پیاده‌سازی

متدهای get و post را از کلاس RestAPI پیاده‌سازی کنید.

فقط باید توابعی را بنویسید که درخواست‌ها را مدیریت می‌کنند، بدون این‌که یک سرور واقعی HTTP پیاده‌سازی کنید. می‌توانید پایگاه داده را با یک شیء در حافظه شبیه‌سازی کنید که همه‌ی کاربران ذخیره‌شده را در خود نگه می‌دارد. سازنده‌ی کلاس RestAPI باید یک نمونه از این پایگاه داده را به‌عنوان آرگومان بپذیرد (و اگر آرگومانی داده نشده باشد، مقدار پیش‌فرضی برای آن تعیین کند).

در این پیاده‌سازی، در صورت یک درخواست GET، بار داده باید بخشی از URL باشد و مانند پارامترهای پرس‌وجو مدیریت شود؛ برای نمونه /users?users=Adam,Bob.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
JavaScript Exercism

آماده‌اید REST API را شروع کنید؟

در Exercism ثبت‌نام کنید تا JavaScript را همراه با 37 مفهوم159 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.