یک API رستفول برای پیگیری بدهیها پیادهسازی کنید.
چهار همخانه عادت دارند مدام از یکدیگر پول قرض بگیرند و یادشان نمیآید چه کسی به چه کسی و چهقدر بدهکار است.
وظیفهی شما پیادهسازی یک API رستفول ساده است که بدهیها را بهصورت درخواستهای POST دریافت میکند و میتواند اطلاعات خلاصهی مشخصی را از طریق درخواستهای GET برگرداند.
{
"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.
در Exercism ثبتنام کنید تا JavaScript را همراه با 37 مفهوم159 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.