Implementa una API RESTful para llevar un registro de IOUs.
Cuatro compañeros de piso tienen la costumbre de prestarse dinero entre ellos con frecuencia, y les cuesta recordar quién debe a quién y cuánto.
Tu tarea es implementar una API RESTful sencilla que reciba IOUs como peticiones POST y pueda proporcionar la información resumida que se especifica mediante peticiones 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)>"
}
| Descripción | Método HTTP | URL | Formato de la carga útil | Respuesta sin carga útil | Respuesta con carga útil |
|---|---|---|---|---|---|
| Lista de información de usuarios | GET | /users | {"users":["Adam","Bob"]} |
{"users":<List of all User objects>} |
{"users":<List of User objects for <users> (sorted by name)} |
| Crear usuario | POST | /add | {"user":<name of new user (unique)>} |
N/A | <User object for new user> |
| Crear 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)>} |
Implementa los métodos get y post de la clase RestAPI.
Solo debes escribir las funciones manejadoras, sin implementar un servidor HTTP real.
Puedes simular la base de datos con un objeto en memoria que contenga todos los usuarios almacenados.
El constructor de la clase RestAPI debe aceptar una instancia de esta base de datos como argumento (y establecer un valor predeterminado para ella si no se pasa ningún argumento).
Para esta implementación, en el caso de una petición GET, el payload debe formar parte de la URL y debe tratarse como parámetros de consulta, por ejemplo /users?users=Adam,Bob.
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.