Ένα REST (Representational State Transfer) API—μερικές φορές αναφέρεται ως RESTful AP—είναι ένα API που χρησιμοποιεί αιτήματα HTTP για πρόσβαση και χρήση πόρων.

Αυτοί οι πόροι αντιπροσωπεύονται συχνά σε μορφή JSON, αν και σε ορισμένες περιπτώσεις χρησιμοποιούνται μορφή XML, κείμενο και HTML. Τα API REST έχουν γίνει ένας τυπικός τρόπος για τις εφαρμογές να ανταλλάσσουν δεδομένα μέσω ενός δικτύου μέσω μεθόδων HTTP όπως GET, PUT, POST και DELETE. Διευκολύνουν τη δημιουργία, την ανάγνωση, την ενημέρωση και τη διαγραφή πόρων που συνήθως αναφέρονται ως λειτουργίες CRUD.

Αυτός ο οδηγός διερευνά πώς μπορείτε να χρησιμοποιήσετε το Node. JS για να δημιουργήσετε ένα απλό CRUD Restful API.

Τι πρέπει να ακολουθήσετε

Βεβαιωθείτε ότι έχετε εγκαταστήσει το Node.js στον τοπικό σας υπολογιστή. Τρέξιμο κόμβος -v για να ελέγξετε αν ο Κόμβος. Το JS είναι εγκατεστημένο. Αυτή η εντολή θα πρέπει να επιστρέψει τον αριθμό έκδοσης.

Σχετίζεται με: Πώς να εγκαταστήσετε το Node.js στα Windows

Θα πρέπει επίσης να έχετε ένα λειτουργικό παράδειγμα του αγαπημένου σας επεξεργαστής κειμένου (π.χ. VS Code).

instagram viewer

Ρύθμιση έργου

Δημιουργήστε ένα φάκελο για την εφαρμογή σας και πλοηγηθείτε σε αυτόν. Στο τερματικό και στον κατάλογο που μόλις δημιουργήσατε, αρχικοποιήστε πακέτο.json με το τρέξιμο npm init.

$ npm init -y 

ο πακέτο.json θα σας βοηθήσει να εγκαταστήσετε και να διαχειριστείτε πακέτα npm. ο Το flag δημιουργεί το αρχείο package.json χρησιμοποιώντας τις προεπιλεγμένες επιλογές χωρίς να χρειάζεται να ρυθμίσετε τις μεμονωμένες λεπτομέρειες. Η έξοδος στο τερματικό σας θα πρέπει να μοιάζει με αυτό. Σημειώστε ότι το όνομα θα είναι διαφορετικό ανάλογα με το όνομα που ονομάσατε στον φάκελο σας.

Ρύθμιση του διακομιστή

Για να δημιουργήσετε έναν διακομιστή, πρώτα εγκαταστήστε το Express.js και το Nodemon. Το Express.js είναι ένας Κόμβος. Js πλαίσιο που σχεδιάστηκε για να διευκολύνει την ανάπτυξη διαδικτυακών εφαρμογών και API. Θα το χρησιμοποιήσετε για να ρυθμίστε τις παραμέτρους του διακομιστή και τα τελικά σημεία του API. Το Nodemon από την άλλη είναι ένα εργαλείο ανάπτυξης που θα επανεκκινήσει τον διακομιστή σας όταν αλλάξει ο κώδικας της εφαρμογής σας.

Εκτελέστε την ακόλουθη εντολή για εγκατάσταση εξπρές και κόμβος:

npm εκφράζω nodemon 

Στη συνέχεια, για να δημιουργήσετε τον διακομιστή σας, δημιουργήστε ένα αρχείο και καλέστε το server.js στη συνέχεια προσθέστε τον ακόλουθο κώδικα.

// Απαιτείται ρητή
const express = απαιτώ ("express");
// Αρχικοποίηση express
const app = express();
const PORT = 8080;
// ανάλυση JSON
app.use (express.json());
// ανάλυση κωδικοποιημένων δεδομένων URL
app.use (express.urlencoded({ extended: true }));
// δημιουργία διακομιστή
app.listen (PORT, () => {
console.log(`Διακομιστής που εκτελείται στη θύρα ${PORT}`);
});

Στον παραπάνω κώδικα, απαιτείται express στο δικό σας server.js αρχείο και αρχικοποιήστε το. Στη συνέχεια, διαμορφώστε το express για ανάλυση JSON και κωδικοποιημένων δεδομένων URL. Τέλος, δημιουργήστε έναν διακομιστή χρησιμοποιώντας το ακούω() μέθοδο από την Express.

Σχετίζεται με: Τι είναι το Express.js και γιατί πρέπει να το χρησιμοποιείτε;

Ξεκινώντας: Δημιουργήστε έναν πίνακα για την αποθήκευση δεδομένων χρήστη

Για λόγους απλότητας, δεν θα χρησιμοποιείτε μια βάση δεδομένων αλλά μάλλον έναν απλό πίνακα χρηστών. Στο app.js σας, προσθέστε τον ακόλουθο κώδικα μετά τη γραμμή που αναλύει τα κωδικοποιημένα δεδομένα URL.

const users = [{
id: 1,
όνομα: "Jane Doe",
ηλικία: "22",
},
{
id: 2,
όνομα: "John Doe",
ηλικία: "31",
}];

Σχετίζεται με: Πώς να δημιουργήσετε μια βάση δεδομένων και μια συλλογή στο MongoDB

Πώς να ρυθμίσετε τις διαδρομές στο Express.js

Για να εκτελέσετε λειτουργίες στα δεδομένα σας, πρέπει να ρυθμίσετε τη δρομολόγηση. Οι διαδρομές θα καθορίσουν τον τρόπο με τον οποίο η εφαρμογή σας θα ανταποκρίνεται στα αιτήματα που υποβάλλονται σε ένα συγκεκριμένο τελικό σημείο. Κάθε διαδρομή έχει μια μέθοδο HTTP, μια διεύθυνση URL και μια λειτουργία χειριστή που χειρίζεται το αίτημα και την απόκριση HTTP. Για να ρυθμίσετε τις διαδρομές, προσθέστε τα ακόλουθα στο δικό σας server.js αρχείο μετά από σας χρήστες πίνακας.

app.post('/create', (req, res) => {
// Δημιουργία χρήστη
});
app.get('/users', (απαιτ., res) => {
// Ανακτά όλους τους χρήστες
});
app.get('/user/:userID', (απαιτ., res) => {
// Επιστρέφει έναν χρήστη με αναγνωριστικό
});
app.put('/user/:userID', (απαιτ., res) => {
// Ενημέρωση χρήστη κατά αναγνωριστικό
});
app.delete('/delete/:userID', (απαιτ., res) => {
// Διαγραφή χρήστη με αναγνωριστικό
});
app.delete('/users', (απαιτ., res) => {
// Διαγραφή όλων των χρηστών
});

Πώς να εκτελέσετε λειτουργίες CRUD στον κόμβο. Js

Πρέπει να δημιουργήσετε τις συναρτήσεις που θα χειριστούν τα δεδομένα χρήστη και θα επιστρέψουν μια απάντηση σύμφωνα με την αντιστοιχισμένη διαδρομή. Αυτές οι λειτουργίες θα δημιουργήσουν, θα διαβάσουν, θα ενημερώσουν και θα διαγράψουν δεδομένα χρήστη.

Σχετίζεται με: Πώς να εκτελέσετε Λειτουργίες CRUD στο MongoDB

Πώς να δημιουργήσετε έναν νέο χρήστη

Για να δημιουργήσετε έναν νέο χρήστη, θα χρειαστεί να:

  • Ελέγξτε εάν το σώμα του αιτήματος είναι κενό—αν είναι, στείλτε μια απάντηση σφάλματος.
  • Εξαγωγή των δεδομένων χρήστη από το σώμα αιτήματος.
  • Επικυρώστε τα δεδομένα χρήστη.
  • Σπρώξτε τα δεδομένα χρήστη στον πίνακα.

Σημειώστε ότι χρησιμοποιείτε έναν πίνακα μόνο για λόγους απλότητας. Σε ένα πραγματικό σενάριο, θα αλληλεπιδράτε με μια βάση δεδομένων.

Επεξεργαστείτε τη διαδρομή POST όπως παρακάτω.

app.post("/create", (req, res) => {
// Ελέγξτε εάν το σώμα του αιτήματος είναι κενό
εάν (!Αντικείμενο.πλήκτρα (req.σώμα).μήκος) {
return res.status (400).json({
μήνυμα: "Το σώμα του αιτήματος δεν μπορεί να είναι κενό",
});
}
// Χρησιμοποιήστε την καταστροφή αντικειμένων για να λάβετε όνομα και ηλικία
const { όνομα, ηλικία } = req.body;
αν (!όνομα || !ηλικία) {
res.status (400).json({
μήνυμα: "Βεβαιωθείτε ότι έχετε στείλει όνομα και ηλικία",
});
}
const newUser = {
id: users.length + 1,
όνομα,
ηλικία,
};
δοκιμάστε {
users.push (newUser);
res.status (201).json({
μήνυμα: "Δημιουργήθηκε με επιτυχία νέος χρήστης",
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Απέτυχε η δημιουργία χρήστη",
});
}
});

Τρόπος ανάγνωσης χρηστών

Για να ανακτήσετε όλους τους χρήστες, επιστρέψτε τον πίνακα χρηστών στην απάντησή σας.

app.get("/users", (required, res) => {
δοκιμάστε {
res.status (200).json({
χρήστες
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Αποτυχία ανάκτησης όλων των χρηστών",
});
}
});

Εάν δοκιμάσετε αυτήν τη διαδρομή χρησιμοποιώντας τον ταχυδρόμο, θα πρέπει να λάβετε τη σειρά των χρηστών στο σώμα απόκρισης.

Για να ανακτήσετε μόνο έναν χρήστη:

  • Λάβετε το αναγνωριστικό χρήστη από την παράμετρο URL.
  • Χρήση εύρημα() για να προσδιορίσετε ποια συγκεκριμένα δεδομένα χρήστη ζητάτε.
  • Επιστρέψτε τον χρήστη στην απάντηση.
app.get("/users/:userID", (απαιτ., res) => {
const id = parseInt (req.params.userID);
console.log (id);
δοκιμάστε {
ας user = users.find((user) => user.id id);
αν (!χρήστης) {
return res.status (404).json({
μήνυμα: "Ο χρήστης δεν βρέθηκε",
});
}
res.status (200).json({
χρήστης,
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Αποτυχία ανάκτησης χρήστη",
});
}
});

Πώς να ενημερώσετε τους χρήστες

Για να ενημερώσετε τον χρήστη:

  • Ανακτήστε το αναγνωριστικό χρήστη από τη διεύθυνση URL.
  • Χρήση εύρημα() για να ελέγξετε αν υπάρχει ο χρήστης.
  • Χρήση indexOf() για να λάβετε το ευρετήριο του χρήστη στον οποίο αναφέρεται.
  • Χρησιμοποιήστε το ευρετήριο για να επεξεργαστείτε τα δεδομένα χρήστη με τα δεδομένα που αποστέλλονται μέσω του σώματος αιτήματος.
app.put("/users/:userID", (απαιτ., res) => {
δοκιμάστε {
const id = parseInt (req.params.userID);
ας user = users.find((user) => user.id id);
αν (!χρήστης) {
return res.status (404).json({
μήνυμα: "Ο χρήστης δεν βρέθηκε",
});
}
const userIDX = users.indexOf (χρήστης);
users[userIDX].name = req.body.name || users[userIDX].name;
users[userIDX].age = req.body.age || users[userIDX].age;
res.status (200).json({
μήνυμα: "Επιτυχής ενημέρωση χρήστη",
χρήστης,
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Αποτυχία ανάκτησης χρήστη",
});
}
});

Πώς να διαγράψετε χρήστες

Μπορείτε να επιλέξετε να διαγράψετε έναν χρήστη ή όλους τους χρήστες.

Για να διαγράψετε έναν χρήστη:

  • Ανακτήστε το αναγνωριστικό χρήστη από τη διεύθυνση URL
  • Χρήση εύρημα() για να ελέγξετε αν υπάρχει ο χρήστης
  • Χρήση findIndex() για να λάβετε το ευρετήριο του χρήστη στον οποίο αναφέρεται.
  • Χρήση συνδέω() για να διαγράψετε τον χρήστη σε αυτό το ευρετήριο.
app.delete("/users/:userID", (απαιτ., res) => {
δοκιμάστε {
const id = req.params.userID;
ας userIDX = users.findIndex((user) => user.id id);
αν (!userIDX) {
res.status (404).json({
μήνυμα: "Ο χρήστης δεν βρέθηκε",
});
}
users.splice (userIDX, 1);
res.status (200).json({
μήνυμα: "Επιτυχής διαγραφή χρήστη",
χρήστες,
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Απέτυχε η διαγραφή χρήστη",
});
}
});

Για να διαγράψετε όλους τους χρήστες, συνδέστε ολόκληρο τον πίνακα.

app.delete("/users", (reg, res) => {
δοκιμάστε {
users.splice (0, users.length);
res.status (200).json({
μήνυμα: "Διαγράφηκαν με επιτυχία όλοι οι χρήστες",
χρήστες,
});
} catch (σφάλμα) {
res.status (500).json({
μήνυμα: "Απέτυχε η διαγραφή χρηστών",
Χ,
});
}
});

Μάθετε περισσότερα για τα RESTful API

Αυτό το σεμινάριο περιγράφει τον τρόπο δημιουργίας ενός βασικού RESTful API στο Node. JS. Έχετε μάθει πώς να δημιουργείτε έναν διακομιστή Express, να ρυθμίζετε διαδρομές και, τέλος, να δημιουργείτε συναρτήσεις χειριστή που αλληλεπιδρούν με τα δεδομένα σας μέσω αιτημάτων/απαντήσεων HTTP.

Ωστόσο, υπάρχουν ορισμένα βασικά θέματα που δεν καλύπτονται εδώ και θα πρέπει να ερευνήσετε περαιτέρω, όπως πώς να συνδέσετε την εφαρμογή σας σε μια βάση δεδομένων όπως το MongoDB και πώς να ασφαλίσετε διαδρομές.

Πώς μια βάση δεδομένων MongoDB μπορεί να οργανώσει καλύτερα τα δεδομένα σας

Το MongoDB (από το "humongous") είναι μια βάση δεδομένων προσανατολισμένη σε έγγραφα σε πολλαπλές πλατφόρμες που χρησιμοποιείται ως εναλλακτική της MySQL. Τι σημαίνει όμως αυτό;

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Προγραμματισμός
  • JavaScript
  • API
Σχετικά με τον Συγγραφέα
Μαίρη Γαθώνη (Δημοσιεύτηκαν 2 άρθρα)

Η Mary Gathoni είναι μια προγραμματίστρια λογισμικού με πάθος για τη δημιουργία τεχνικού περιεχομένου που δεν είναι μόνο ενημερωτικό αλλά και συναρπαστικό. Όταν δεν κωδικοποιεί ή δεν γράφει, της αρέσει να κάνει παρέα με φίλους και να βρίσκεται σε εξωτερικούς χώρους.

Περισσότερα από τη Μαίρη Γαθώνη

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε