REST API

REST API

Μέτριο

Οδηγίες

Υλοποίησε ένα RESTful API για την παρακολούθηση οφειλών.

Τέσσερις συγκάτοικοι έχουν τη συνήθεια να δανείζονται συχνά χρήματα ο ένας από τον άλλον και δυσκολεύονται να θυμούνται ποιος χρωστάει σε ποιον και πόσα.

Η αποστολή σου είναι να υλοποιήσεις ένα απλό RESTful 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 URL Μορφή payload Απόκριση χωρίς payload Απόκριση με payload
Λίστα πληροφοριών χρηστών 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>
Δημιουργία οφειλής 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)>}

Άλλοι πόροι

Υλοποίηση

Υλοποίησε τις μεθόδους get και post της κλάσης RestAPI.

Θα πρέπει να γράψεις μόνο τις συναρτήσεις διαχείρισης, χωρίς να υλοποιήσεις έναν πραγματικό διακομιστή HTTP. Μπορείς να προσομοιώσεις τη βάση δεδομένων χρησιμοποιώντας ένα αντικείμενο στη μνήμη που θα περιέχει όλους τους αποθηκευμένους χρήστες. Ο κατασκευαστής της κλάσης RestAPI θα πρέπει να δέχεται ως όρισμα ένα στιγμιότυπο αυτής της βάσης δεδομένων (και να ορίζει μια προεπιλεγμένη τιμή γι' αυτό αν δεν έχει περαστεί όρισμα).

Για αυτή την υλοποίηση, σε περίπτωση ενός αιτήματος GET, το φορτίο θα πρέπει να αποτελεί μέρος του URL και να αντιμετωπίζεται σαν παραμέτρους ερωτήματος, για παράδειγμα /users?users=Adam,Bob.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
JavaScript Exercism

Έτοιμος να ξεκινήσεις την άσκηση REST API;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.