Sobes.tech
Junior — Middle

Μπορείς να εξηγήσεις τις βασικές αρχές της αρχιτεκτονικής REST και πώς υλοποιούνται κατά την ανάπτυξη API;

sobes.tech AI

Απάντηση από AI

Το REST (Αντιπροσωπευτική Μεταφορά Κατάστασης) είναι ένα αρχιτεκτονικό στυλ για τη δημιουργία διαδικτυακών υπηρεσιών, βασισμένο σε μια σειρά αρχών:

  • Αρχιτεκτονική πελάτη-διακομιστή: ο πελάτης και ο διακομιστής είναι διαχωρισμένοι, γεγονός που απλοποιεί την ανάπτυξη και την κλιμάκωση.
  • Χωρίς κατάσταση (stateless): κάθε αίτημα από τον πελάτη προς τον διακομιστή πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες, ο διακομιστής δεν διατηρεί κατάσταση μεταξύ των αιτημάτων.
  • Προσωρινή αποθήκευση (Caching): οι απαντήσεις μπορούν να αποθηκευτούν στην cache για βελτίωση της απόδοσης.
  • Μοναδική διεπαφή: χρήση τυπικών μεθόδων HTTP (GET, POST, PUT, DELETE) για λειτουργίες με πόρους.
  • Ταυτοποίηση πόρων μέσω URI: κάθε πόρος έχει μια μοναδική διεύθυνση.
  • Πολυεπίπεδο σύστημα: η αρχιτεκτονική μπορεί να αποτελείται από πολλαπλά επίπεδα, όπως proxies, gateways.

Κατά την ανάπτυξη REST API, αυτοί οι κανόνες υλοποιούνται ως εξής:

  • Οι πόροι (π.χ., χρήστες, προϊόντα) αντιπροσωπεύονται με URL, π.χ., /users/123.
  • Χρησιμοποιούνται μέθοδοι HTTP: GET για λήψη, POST για δημιουργία, PUT/PATCH για ενημέρωση, DELETE για διαγραφή.
  • Ο διακομιστής δεν διατηρεί συνεδρίες, όλα τα δεδομένα για την επεξεργασία του αιτήματος μεταδίδονται σε αυτόν.
  • Οι απαντήσεις μπορούν να περιέχουν επικεφαλίδες για την cache.
  • Τα δεδομένα συνήθως είναι σε μορφή JSON ή XML.

Παράδειγμα αίτησης για λήψη χρήστη:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Απάντηση:

{
  "id": 123,
  "name": "Ivan Ivanov"
}