Implementa una API RESTful para llevar un registro de deudas.
Cuatro compañeros de cuarto tienen la costumbre de prestarse dinero entre ellos con frecuencia y les cuesta recordar quién le debe a quién y cuánto.
Tu tarea es implementar una API RESTful simple que reciba deudas como solicitudes POST y que pueda entregar la información de resumen especificada mediante solicitudes 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 del payload | Respuesta sin payload | Respuesta con payload |
|---|---|---|---|---|---|
| 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 deuda | 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 si no se pasa ningún argumento).
Para esta implementación, en el caso de una petición GET, los datos deben formar parte de la URL y se deben manejar 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.