MEAN.JS - API REST

In questo capitolo, vedremo la nostra applicazione interagire tramite un'API REST con il nostro database utilizzando metodi HTTP. Il termine REST sta per REpresentational State Transfer, che è uno stile architettonico progettato per comunicare con i servizi web e API sta per Application Program Interface che consente l'interazione tra le applicazioni.

Per prima cosa, creeremo l'API RESTful per ottenere tutti gli elementi, creare l'elemento ed eliminare un elemento. Per ogni elemento, _id verrà generato automaticamente da MongoDB. La tabella seguente descrive come l'applicazione dovrebbe richiedere i dati dall'API -

Metodo HTTP Percorso URL Descrizione
OTTENERE

/api/students

Viene utilizzato per ottenere tutti gli studenti dalla raccolta Student.
INVIARE

/api/students/send

Viene utilizzato per creare un record studente nella raccolta Student.
ELIMINA

/api/students/student_id

Viene utilizzato per eliminare il record di uno studente dalla raccolta Student.

Percorsi API RESTful

Discuteremo prima il metodo post in RESTful API Routes.

INVIARE

Per prima cosa creiamo un record nella raccolta Student tramite la nostra API REST. Il codice per questo caso particolare può essere trovato nel file server.js . Per riferimento, una parte del codice viene incollata qui -

app.post('/api/students/send', function (req, res) {
   var student = new Student(); // create a new instance of the student model
   student.name = req.body.name; // set the student name (comes from the request)
   student.save(function(err) {
      if (err)
         res.send(err);
         res.json({ message: 'student created!' });
   });
});

Esecuzione

È possibile scaricare il codice sorgente per questa applicazione in questo collegamento . Scarica il file zip; estrailo nel tuo sistema. Apri il terminale ed esegui il comando seguente per installare le dipendenze del modulo npm.

$ cd mean-demon-consuming_rest_api
$ npm install

Per analizzare la richiesta, avremmo bisogno del pacchetto del parser del corpo. Quindi, esegui il comando seguente per includere nella tua applicazione.

npm install --save body-parser

Il codice sorgente allegato ha già questa dipendenza, quindi non è necessario eseguire il comando precedente, è solo per le tue informazioni.

Per eseguire l'applicazione, vai alla directory del tuo progetto appena creato ed esegui con il comando indicato di seguito:

npm start

Riceverai una conferma come mostrato nell'immagine qui sotto -

Ci sono molti strumenti per testare le chiamate API, qui stiamo usando una delle estensioni user friendly per Chrome chiamata Postman REST Client .

Apri il client REST di Postman, inserisci l'URL come http://localhost:3000/api/students/send, seleziona il metodo POST . Quindi, inserisci i dati della richiesta come mostrato di seguito -

Si noti che stiamo inviando i dati del nome come x-www-form-urlencoded . Questo invierà tutti i nostri dati al server Node come stringhe di query.

Fare clic sul pulsante Invia per creare un record studente. Apparirà un messaggio di successo come mostrato di seguito -

OTTENERE

Quindi, prendiamo tutti i record degli studenti dal mongodb. È necessario scrivere il percorso seguente. Puoi trovare il codice completo nel file server.js .

app.get('/api/students', function(req, res) {
   // use mongoose to get all students in the database
   Student.find(function(err, students) {
      // if there is an error retrieving, send the error.
      // nothing after res.send(err) will execute
      if (err)
         res.send(err);
      res.json(students); // return all students in JSON format
   });
});

Quindi, apri il client REST di Postman, inserisci l'URL come

http://localhost:3000/api/students, seleziona il metodo GET e fai clic sul pulsante Invia per ottenere tutti gli studenti.

ELIMINA

Successivamente, vediamo come eliminare un record dalla nostra raccolta di mongo tramite la chiamata api REST.

È necessario scrivere il percorso seguente. Puoi trovare il codice completo nel file server.js .

app.delete('/api/students/:student_id', function (req, res) {
   Student.remove({
      _id: req.params.student_id
   }, function(err, bear) {
      if (err)
         res.send(err);
      res.json({ message: 'Successfully deleted' });
   });
});

Quindi, apri il client REST di Postman, inserisci l'URL come

http://localhost:3000/api/students/5d1492fa74f1771faa61146d

(qui 5d1492fa74f1771faa61146d è il record che elimineremo dalla raccolta Student).

Seleziona il metodo DELETE e fai clic sul pulsante Invia per ottenere tutti gli studenti.

Puoi controllare MongoDB per i dati cancellati, effettuando una chiamata GET a http://localhost:3000/api/students/5d1492fa74f1771faa61146d.