Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
Membuat API untuk daftar hobi di Node.js cukup sederhana dan efisien. Dalam panduan ini, kita akan menggunakan Express sebagai framework dan MongoDB untuk database. Mari kita mulai dengan langkah-langkahnya.
Pastikan Node.js dan NPM telah terinstal di komputer kamu. Kamu dapat mengeceknya dengan perintah berikut:
node -v
npm -v
Buat direktori baru untuk proyek kamu dan buka terminal di dalamnya. Kemudian jalankan perintah ini untuk menginisialisasi proyek:
npm init -y
Pasang Express dan MongoDB dengan perintah berikut:
npm install express mongoose
Buat beberapa direktori dan file yang dibutuhkan berikut:
server.js
: untuk konfigurasi server.models/
: untuk menyimpan model MongoDB.routes/
: untuk menyimpan file rute.Buat file Hobby.js
di dalam direktori models/
dan buat model sederhana menggunakan Mongoose:
const mongoose = require('mongoose');
const HobbySchema = new mongoose.Schema({
name: { type: String, required: true },
description: String
});
module.exports = mongoose.model('Hobby', HobbySchema);
Buka file server.js
dan masukkan konfigurasi berikut:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
mongoose.connect('mongodb://localhost:27017/hobbydb', { useNewUrlParser: true, useUnifiedTopology: true });
app.use(express.json());
const hobbyRouter = require('./routes/hobbies');
app.use('/hobbies', hobbyRouter);
app.listen(3000, () => console.log('Server running on http://localhost:3000'));
Buat file hobbies.js
di dalam direktori routes/
dan tambahkan rute untuk membuat, membaca, memperbarui, dan menghapus hobi:
const express = require('express');
const router = express.Router();
const Hobby = require('../models/Hobby');
router.post('/', async (req, res) => {
const hobby = new Hobby(req.body);
try {
await hobby.save();
res.status(201).send(hobby);
} catch (err) {
res.status(400).send(err);
}
});
router.get('/', async (req, res) => {
try {
const hobbies = await Hobby.find();
res.send(hobbies);
} catch (err) {
res.status(500).send(err);
}
});
router.get('/:id', async (req, res) => {
try {
const hobby = await Hobby.findById(req.params.id);
res.send(hobby);
} catch (err) {
res.status(404).send('Hobi tidak ditemukan');
}
});
router.patch('/:id', async (req, res) => {
try {
const hobby = await Hobby.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.send(hobby);
} catch (err) {
res.status(400).send(err);
}
});
router.delete('/:id', async (req, res) => {
try {
await Hobby.findByIdAndDelete(req.params.id);
res.send('Hobi dihapus');
} catch (err) {
res.status(500).send(err);
}
});
module.exports = router;
Dengan mengikuti langkah-langkah di atas, kamu sudah memiliki API daftar hobi yang siap digunakan. Jangan lupa untuk memastikan MongoDB berjalan dan terhubung dengan benar. Semoga berhasil!
Link terkait: