Kreye yon API ak NodeJS + ExpressJS
Reading Duration : 0:20:00
Vizyalizasyon : 35
Disponib an : Kreyòl Ayisyen
API vle di Application Programming Interface. Zouti sa pèmèt ou kapab fè kominikasyon ant 2 oubyen plizyè pwogram.
REST li menm ki vle di REpresentational State Transfer, se jis yon konsèp oubyen yon stil achitekti pou distribisyon ki ap fèt sou yon sistèm. Devlopè API jis chwazi swiv règ yo.
Nenpòt sèvè wèb ki swiv achitekti REST la, kapab pote non REST API
Nan REST API, gen plizyè tip rekèt HTTP ke w dwe konnen:
- GET : Pou w rekipere resous
- POST: Pou w soumèt done sou yon API
- PUT: Pou w modifye entegralman
- PATCH: Pou w modifye patyèlman
- DELETE: Pou w efase
Ak plizyè lòt ankò. Chak metòd sa yo, defini tip rekèt nou vle fè sou yon API a.
Ou kapab fè yon API ak nenpòt langaj pwogramasyon. Nan titoryèl sa, mwen pral aprann ou kreye yon API ak langaj JavaScript kote nou pral itilize NodeJS (Ekzekitab) + ExpressJS (Libreri) ki baze sou JavaScript, pou n founi kontni nan fòma JSON, kote nenpot lòt pwogram kapab eksplwate resous yo.
Enstale NodeJS
Si w pa gen Node enstale sou òdinatè ou, se moman pou w enstale li. Ale sou sit nodejs.org a, epi telechaje vèsyon ki konpatib pou òdinatè ou a.
Yon fwa ke w fin enstale li, nou pral kreye premye pwojè nou ki ap rele blog_api.
Kreye pwojè
Pou w kreye pwojè a, se menm jan ak nenpot dosye. Jis kreye yon dosye sou machin ou, epi ba l pote non aplikasyon an.
Answit ouvri tèminal ou, oubyen CMD(Pou Windows). Navige nan chemen kote w te kreye projè a
cd /chemen/kote/pwojè_a
Yon fwa ou fin plase wnan chemen sa, wap tape kòmand npm init -y
pou w ka inisyale node nan pwojè sa.
Wap remake gen yon nouvo fichye ki kreye anndan pwoje sa ki rele package.json
.
Eben nou pral kreye yon nouvo fichye akote fichye sa, ki ap pote non server.js
. Se nan fichye sa, nou pral kode tout lojik API nou an.
Men avan, ann enstale kèk libreri ki enpòtan pou nou:
npm install express
Express se yon libreri ki sèvi nan back-end yon aplikasyon wèb, ki la pou kreye REST API ak NodeJS.
npm install -g nodemon
Nodemon li menm, se yon libreri ki pral la, pou relanse sèvè nou an, san nou pa bezwen relanse l pou kont nou. Depi nou anrejistre nenpòt chanjman nan fichye sèvè nou an, nodemon ap tou relanse tout bagay.
Lansman sèvè
Yon REST API se jis yon aplikasyon wèb ke nou kreye. Se yon aplikasyon wèb back-end, ki obeyi ak yon achitekti espesifik. Donk pou n ka distenge l de yon aplikasyon wèb òdinè, nou fèl pote non API.
Nou pral kreye sèvè nou an, ki pral la pou nenpòt moun ka vizyalize kontni nap founi nan aplikasyon sa nou ap konstwi a.
Ale nan fichye server.js
la, epi tape:
const express = require('express')
Sa se enpòtasyon libreri a, nou fè la. Nou te ka fè l konsa tou:
import express from 'express';
Fason sa, tap mande pou n modifye fichye package.json
nan, pou n ajoute sa anndan akolad la, nenpòt kote a:
{
"type": "module"
...
}
Kounya, an nou kreye aplikasyon nou an ak libreri nou enpòte a. Nap tou presize nan ki pòt sit la dwe lanse.
const express = require('express')
// Kreye aplikasyon an
const app = express()
// Sit sa ap lanse sou localhost ak pòt 3000
app.listen(3000)
Nou gentan kreye sèvè nou an. Pa gen anyen ki konplike la.
Nou ka teste sèvè sa, gras ak kòmand sa, nan tèminal oubyen CMD ou. Pa bliye plase w nan rasin pwojè a, nan konsòl la:
Si w itilize nodemon
:
nodemon server.js
Si w pa itilize nodemon
, ou ka fè:
node server.js
Epi ouvri nenpòt navigatè, pou w lanse sit wèb ou a nan lyen rasin nan ki se http://localhost:3000.
😎
Jan w ka remake, lè n vizite sit la, pa gen anyen ki paret. Se paske nou poko defini ki sa ki dwe afiche nan lyen sa yo.
Kreye premye endpoint
Endpoint se yon mo ki itilize pou defini lyen nan yon API. Nou pral kreye premye lyen nou nan sèvè nou an.
const express = require('express')
// Kreye aplikasyon an
const app = express()
// Premye endpoint rasin nan /
app.get("/", (request, response) => {
return response.send("Hello! API a OK")
})
// Sit sa ap lanse sou localhost ak pòt 3000
app.listen(3000)
Jan w ka remake, nou ajoute yon premye endpoint sou chemen /
ki vle di rasin sit la.
ATANSYON: Toujou kite
app.listen(3000)
an dènye nan kòd la.
Kounya lè nou revizite sit la, nap jwenn kontni nou voye ale nan repons lan.
😎
Ou kreye yon API wi la. Pa gen anyen ki konplike.
Ann ajoute plis endpoint toujou:
const express = require('express')
// Kreye aplikasyon an
const app = express()
// Premye endpoint rasin nan /
app.get("/", (request, response) => {
return response.send("Hello! API a OK")
})
// Dezyèm endpoint nan /posts
app.get("/posts", (request, response) => {
const posts = [
{"tit": "Atik1"},
{"tit": "Atik2"},
{"tit": "Atik3"},
]
return response.send(posts)
})
// Twazyèm endpoint nan /posts
app.post("/posts", (request, response) => {
// tretman sou done ki soumèt yo
// ....
return response.send("Kreye yon post")
})
// Sit sa ap lanse sou localhost ak pòt 3000
app.listen(3000)
Nou ajoute yon dezyèm endpoint, kote nou retounen yon tablo objè nan repons lan.
Ou ka vizite http://localhost:3000/posts
pou w ka teste si repons lan afiche nòmalman.
Gen 2 endpoint ki ale sou /posts
. Gen youn ki se GET
, lòt la se POST
. Menm si yo gen menm lyen, men yo pa gen metòd rekèt.
Lè w vizite lyen sa nan navigatè a, se yon rekèt GET navigatè a toujou fè. Si w vle simile yon rekèt POST, ou ka enstale kèk zouti tankou Postman oubyen kèk ekstansyon VSCode tankou: Thunder Client, REST Client
Se te yon plezi pou m te montre w kòman w ka kreye yon senp API ak NodeJS + Express. Gen plis bagay nou te ka fè toujou.
Nou ka ajoute pou lòt metòd yo, tankou app.get(...)
, app.delete(...)
, app.put(...)
Kontinye seri titoryèl la, nan lyen sa: Kòman w ka rezoud pwoblèm CORS nan yon API Wèb ki fè ak NodeJS + ExpressJS