CTRL K
API
2 min read
API
Endi barcha qismlarni bog’laymiz. Route lar orqali qaysi manzilga so’rov kelganda qaysi controller funksiyasi ishlashini belgilaymiz.
Route yaratish
src/routes/noteRoutes.js faylini yarating:
const express = require('express');
const router = express.Router();
const {
getNotes,
getNote,
createNote,
updateNote,
deleteNote
} = require('../controllers/noteController');
router.route('/')
.get(getNotes)
.post(createNote);
router.route('/:id')
.get(getNote)
.put(updateNote)
.delete(deleteNote);
module.exports = router;Bu kod quyidagi yo’nalishlarni yaratadi:
| Metod | Yo’l | Funksiya |
|---|---|---|
| GET | /api/notes | getNotes |
| POST | /api/notes | createNote |
| GET | /api/notes/:id | getNote |
| PUT | /api/notes/:id | updateNote |
| DELETE | /api/notes/:id | deleteNote |
Serverni ishga tushirish
Hamma narsa tayyor. Endi serverni ishga tushiring:
npm run devAgar hamma narsa to’g’ri bo’lsa, quyidagilarni ko’rasiz:
Server 5000 portda ishlamoqda
MongoDB ulandi: localhostAPI ni tekshirish
Postman yoki Thunder Client yordamida API ni tekshiramiz.
Yangi eslatma yaratish
POST http://localhost:5000/api/notes
Content-Type: application/json
{
"title": "Birinchi eslatmam",
"content": "Bu mening birinchi eslatmam. MongoDB bilan ishlamoqda!"
}Javob:
{
"success": true,
"data": {
"_id": "65abc123def456",
"title": "Birinchi eslatmam",
"content": "Bu mening birinchi eslatmam. MongoDB bilan ishlamoqda!",
"createdAt": "2025-01-18T10:30:00.000Z"
}
}Barcha eslatmalarni olish
GET http://localhost:5000/api/notesJavob:
{
"success": true,
"count": 1,
"data": [
{
"_id": "65abc123def456",
"title": "Birinchi eslatmam",
"content": "Bu mening birinchi eslatmam. MongoDB bilan ishlamoqda!",
"createdAt": "2025-01-18T10:30:00.000Z"
}
]
}Eslatmani yangilash
PUT http://localhost:5000/api/notes/65abc123def456
Content-Type: application/json
{
"title": "Yangilangan sarlavha",
"content": "Yangilangan matn"
}Eslatmani o’chirish
DELETE http://localhost:5000/api/notes/65abc123def456Xatolarni tekshirish
Bo’sh sarlavha bilan so’rov yuboring:
POST http://localhost:5000/api/notes
Content-Type: application/json
{
"title": "",
"content": "Matn bor"
}Javob:
{
"success": false,
"message": "Sarlavha kiritilishi shart"
}Xulosa
Siz oddiy Notes API yaratdingiz! Bu API quyidagilarni qila oladi:
- Eslatma yaratish
- Barcha eslatmalarni ko’rish
- Bitta eslatmani ko’rish
- Eslatmani tahrirlash
- Eslatmani o’chirish
Endi siz bu API ni frontend bilan bog’lashingiz yoki boshqa funksiyalar qo’shishingiz mumkin. Masalan:
- Foydalanuvchi autentifikatsiyasi
- Eslatmalarni qidirish
- Sahifalash (pagination)
- Kategoriyalar qo’shish
Omad!