scrierea primului nod.js REST API Service

nod.js este un runtime Javascript care se bazează pe motorul Javascript V8 al Chrome. Node este conceput pentru a construi aplicații de rețea scalabile. Accentul nostru în acest articol este de a construi un API REST folosind Node.js. Vom construi un serviciu simplu de Calculator care va face calcule de bază și va returna ieșirile generate.

ce este un API REST?

pur și simplu un API RESTful este o interfață de programatori de aplicații (API) care utilizează cererea HTTP pentru a obține, posta, pune, șterge date. De asemenea, cunoscut sub numele de servicii web RESTful. REST reprezintă transferul de Stat reprezentativ, care este un stil arhitectural pentru dezvoltarea serviciilor web.

ce vom construi?

vom construi un serviciu web simplu care va face unele calcule și va returna valorile. URL-urile de solicitare și out put vor arăta astfel.

ce ai nevoie

  1. un editor de cod frumos mic ca Visual Studio Code.
  2. nod.JS instalat în sistemul dvs.
  3. un cadru de serviciu — în acest articol folosesc hapi.js (pronunțat ca Happy JS)
  4. o aplicație precum POSTMAN (o extensie de aplicație chrome) pentru a testa serviciul nostru.

sunt în macOS High Sierra versiunea 10.13.3. Comenzile shell trebuie să fie similare pe alte platforme.

să începem

Faceți clic aici pentru a obține eșantionul complet de lucru.

În primul rând trebuie să verificați versiunea Node.js ai. Permite deschide un terminal și tastați următoarea comandă pentru a verifica versiunea de nod.js ai. Folosesc versiunea 8.9.4

$ node --version

ok, acum creați un director pentru a vă stoca codul și navigați în el utilizând următoarele comenzi shell.

$ mkdir calc-service
$ cd calc-service

permite crearea unui proiect nostru.fișier json, tastând această comandă.

$ npm init

răspundeți la întrebări și la proiectul dvs.fișierul json ar trebui să arate așa.

frumos, acum am creat baza nodului nostru.serviciul js. Următorul lucru pe care trebuie să-l instalăm hapi.cadru js. hapi.js este un cadru bogat vă permite să creați aplicații web, precum și servicii bazate pe nod.js.

Să mergem la terminal și să tastăm și să introducem următoarea comandă.

$ npm install --save [email protected]

npm este un manager de pachete care vă permite să instalați mii de module pentru a lucra cu Node.js. Dacă te uiți la comanda de mai sus, am instruit NPM să instaleze hapi versiunea 17. De asemenea, am solicitat actualizarea pachetului.fișier json utilizând opțiunea Salvare.

acum structura folderului dvs. ar trebui să arate astfel.

hapi.js actualizat ca o dependență

după cum vedeți hapi.dependența js a fost actualizată în pachet.fișierul json, precum și node_modules necesare sunt actualizate.

permite crearea serverului acum

În acest pas vom căuta crearea serverului care va asculta solicitările noastre. În tipul terminalului următoarea comandă pentru a crea serverul.fișier js. Aceasta trebuie să fie în rădăcina directorului în care vă aflați. Sau puteți utiliza fișier nou în fila panoul din stânga în codul VS.

$ touch server.js

creare fișier nou

vă permite să adăugați următorul cod în server.fișier js. Acest cod va crea cod care va asculta cererile utilizatorilor pe un anumit port.

permite verificarea, dacă serverul este în funcțiune. Deschideți terminalul și următoarea comandă.

$ node server.js 

și ar trebui să vedeți un out pus ca aceasta.

server care rulează pe portul 3000

creați primul nostru traseu

acum am testat cu succes serverul. Serverul nostru este în funcțiune acum. Este timpul să creați primul traseu. Să începem simplu prin crearea acestei căi.

/calculator/about

deschideți serverul.fișier js și adăugați următorul cod, chiar înainte de init ().

codul de mai sus creează o cale de a da o cale de/calculator / despre utilizarea unei metode GET. În linia 4 funcția handler se ocupă de cererea și trimite înapoi un răspuns ca răspuns. În linia 5 am creat o variabilă care stochează un șir JSON. În cele din urmă, linia returnează acea variabilă ca răspuns de la server.

acum am adăugat prima noastră rută către server. Vă permite să aibă un test rapid pe noul cod. În terminal tastați următoarea comandă pentru a porni serverul. (Puteți opri serverul prin apăsarea CTRL + C)

$ node server.js

permite foc-up poștaș și testa primul nostru traseu.

întoarcere de succes de la serverul de testarea traseului.

după cum vedeți, am folosit metoda GET pentru a trimite solicitarea și adresa URL se potrivește cu calea traseului. Avem o revenire reușită de pe server ca șir JSON.

excelent avem un cod de lucru chiar acum. Practica sa bună de a organiza un cod un pic. Chiar dacă aceasta este o aplicație mică, este întotdeauna o practică bună să o faceți. Vă permite să mutați codul nostru de rutare într-un folder și fișier separat.

permite oprirea serverului mai întâi apăsând CTRL + C în terminal. Și în directorul rădăcină, creați un director numit rute. Utilizați următoarele comenzi în terminal sau îl puteți crea folosind codul VS.

$ mkdir routes 
$ cd routes
$ touch routes.js

acum structura directorului ar trebui să arate astfel.

structura directorului după crearea director rute și fișierul.

acum deschideți ruta.fișier js în interiorul VS Cod. Apoi tăiați codul pe care l-am scris pentru rutare în server.fișier js. Și lipiți în interiorul traseului.fișier js. Acum deschideți din nou serverul.fișier js adăugați următorul cod chiar înainte de apelarea metodei init ().

require(‘./routes/routes’)(server);

acum avem un cod organizat de biți. Să adăugăm restul rutelor la rute.fișier js.

acum toate rutele noastre sunt intacte. Dacă te uiți la numerele de linie 19, 36, 53 și 70 Calea are două intrări în interiorul {} paranteze. Acestea sunt tratate ca parametri în cale. Puteți accesa acești parametri așa cum se arată în liniile 22 și 23. Restul este auto-explicativ.

acum permite stea server tastând această comandă în terminal și testați-l folosind poștaș.

$ node server.js 

Tested path of /calculator/add/10/20

Congratulations. You have written your first Node.js based REST API service.

Happy Coding 🙂 !!!

Lasă un răspuns

Adresa ta de email nu va fi publicată.