Langkah-langkah:
1. Buat Database dan Collection di MongoDB:
polibest.mahasiswa.2. Buka VSCode:
- Buka folder proyek Anda, arahkan ke
C:\xampp\htdocs(atau direktori pilihan Anda) dan buka terminal
3. Buat Direktori Baru untuk Proyek:
- Jalankan perintah berikut untuk membuat file
package.json:
5. Instal Dependency yang Diperlukan:
- Instal semua package yang diperlukan untuk proyek ini:
6. Struktur Proyek
Buat struktur folder berikut untuk proyek Anda:
7. Konfigurasi server.js
Buat file server.js di direktori utama untuk menghubungkan ke MongoDB dan memulai server Express.
8. Buat Model Mahasiswa
Buat file mahasiswa.js di dalam folder models/. Ini adalah model untuk koleksi mahasiswa di MongoDB.
9. Buat Route CRUD mahasiswa.js
Buat file mahasiswa.js di folder routes/ untuk mendefinisikan semua operasi CRUD.
// routes/mahasiswa.js
const express = require("express");
const router = express.Router();
const Mahasiswa = require("../models/mahasiswa");
// 1. Tampilkan Semua Mahasiswa (GET)
router.get("/", async (req, res) => {
try {
const mahasiswa = await Mahasiswa.find();
res.json(mahasiswa);
} catch (err) {
res.status(500).json({ message: err.message });
}
});
// 2. Tampilkan Satu Mahasiswa Berdasarkan ID (GET)
router.get("/:id", async (req, res) => {
try {
const mahasiswa = await Mahasiswa.findById(req.params.id);
if (!mahasiswa)
return res.status(404).json({ message: "Mahasiswa not found" });
res.json(mahasiswa);
} catch (err) {
res.status(500).json({ message: err.message });
}
});
// 3. Tambah Mahasiswa Baru (POST)
router.post("/", async (req, res) => {
const mahasiswa = new Mahasiswa({
nama: req.body.nama,
umur: req.body.umur,
jurusan: req.body.jurusan,
ipk: req.body.ipk,
});
try {
const newMahasiswa = await mahasiswa.save();
res.status(201).json(newMahasiswa);
} catch (err) {
res.status(400).json({ message: err.message });
}
});
// 4. Update Data Mahasiswa (PATCH)
router.patch("/:id", async (req, res) => {
try {
const mahasiswa = await Mahasiswa.findById(req.params.id);
if (!mahasiswa)
return res.status(404).json({ message: "Mahasiswa not found" });
// Update field yang tersedia
if (req.body.nama != null) mahasiswa.nama = req.body.nama;
if (req.body.umur != null) mahasiswa.umur = req.body.umur;
if (req.body.jurusan != null) mahasiswa.jurusan = req.body.jurusan;
if (req.body.ipk != null) mahasiswa.ipk = req.body.ipk;
const updatedMahasiswa = await mahasiswa.save();
res.json(updatedMahasiswa);
} catch (err) {
res.status(400).json({ message: err.message });
}
});
// 5. Hapus Mahasiswa (DELETE)
router.delete("/:id", async (req, res) => {
try {
const mahasiswa = await Mahasiswa.findById(req.params.id);
if (!mahasiswa)
return res.status(404).json({ message: "Mahasiswa not found" });
await mahasiswa.remove();
res.json({ message: "Mahasiswa deleted" });
} catch (err) {
res.status(500).json({ message: err.message });
}
});
module.exports = router;
10. Jalankan Server
Untuk menjalankan server, gunakan nodemon agar server otomatis restart setiap kali ada perubahan kode.
11. Download Aplikasi Postman
Download Postman melalui websitenya dan lakukan installasi
12. Testing API dengan Postman
Sekarang Anda bisa menggunakan Postman untuk menguji setiap endpoint API Anda:
1. GET Semua Mahasiswa:
- Method: GET
- URL:
http://localhost:3000/mahasiswa
2. GET Mahasiswa Berdasarkan ID:
- Method: GET
- URL:
http://localhost:3000/mahasiswa/:id
3. POST Tambah Mahasiswa Baru:
- Method: POST
- URL:
http://localhost:3000/mahasiswa - Body (raw JSON):
4. PATCH Update
Mahasiswa: - Method: PATCH - URL: http://localhost:3000/mahasiswa/:id - Body (raw JSON): json { "nama": "Andi", "umur": 23 }
5. DELETE
Hapus Mahasiswa:
- Method: DELETE
- URL: http://localhost:3000/mahasiswa/:id
Komentar
Posting Komentar