🔗 REST API
Level: Advanced
REST API (Representational State Transfer) adalah standar arsitektur untuk membangun layanan web yang mudah diakses dan digunakan.
REST menggunakan protokol HTTP dengan metode standar seperti GET, POST, PUT, DELETE.
Bayangkan REST API seperti pelayan restoran: kita (client) memesan makanan (request), dapur (server) menyiapkan, lalu pelayan mengantarkan (response).
📖 Konsep Utama REST API
- Endpoint: URL yang mewakili resource (contoh:
/users).
- HTTP Methods:
GET → mengambil data.
POST → menambahkan data baru.
PUT → memperbarui data.
DELETE → menghapus data.
- Response Format: biasanya JSON.
- Status Code: kode HTTP untuk menunjukkan hasil (200 OK, 201 Created, 404 Not Found, 500 Server Error).
🔹 Contoh REST API dengan Express
// app.js
const express = require("express");
const app = express();
app.use(express.json());
let users = [
{ id: 1, nama: "Doddy" },
{ id: 2, nama: "Budi" }
];
// GET semua user
app.get("/users", (req, res) => {
res.json(users);
});
// POST user baru
app.post("/users", (req, res) => {
const user = { id: users.length + 1, nama: req.body.nama };
users.push(user);
res.status(201).json(user);
});
// PUT update user
app.put("/users/:id", (req, res) => {
const id = parseInt(req.params.id);
const user = users.find(u => u.id === id);
if (!user) return res.status(404).send("User tidak ditemukan");
user.nama = req.body.nama;
res.json(user);
});
// DELETE user
app.delete("/users/:id", (req, res) => {
const id = parseInt(req.params.id);
users = users.filter(u => u.id !== id);
res.sendStatus(204);
});
app.listen(3000, () => console.log("Server berjalan di http://localhost:3000"));