Express JS Routing
Routing adalah cara Express menentukan respon apa yang diberikan berdasarkan:
- URL (path)
- HTTP Method (
GET,POST,PUT,DELETE, dll)
Struktur Dasar Routing
app.METHOD(PATH, HANDLER)
Contoh:
app.get('/', (req, res) => {
res.send('Hello World');
});
HTTP Method yang Umum
| Method | Fungsi |
|---|---|
| GET | Ambil data |
| POST | Tambah data |
| PUT | Update data (full) |
| PATCH | Update data (partial) |
| DELETE | Hapus data |
Routing Dasar (Langsung di app.js)
app.get('/health', (req, res) => {
res.json({ status: 'ok' });
});
Routing Menggunakan Router (Best Practice)
1. Buat Router
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.json({ message: 'List users' });
});
router.post('/', (req, res) => {
res.json({ message: 'Create user' });
});
module.exports = router;
2. Daftarkan Router
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
Akses:
GET /users
POST /users
3. Route Parameters
Digunakan untuk data dinamis
router.get('/:id', (req, res) => {
res.json({ userId: req.params.id });
});
Request:
GET /users/10
4. Query Parameters
router.get('/', (req, res) => {
const { page, limit } = req.query;
res.json({ page, limit });
});
Request:
GET /users?page=1&limit=10
5. Request Body
Untuk POST / PUT
app.use(express.json());
router.post('/', (req, res) => {
res.json(req.body);
});
Response Type
| Method | Fungsi |
|---|---|
res.send() | Text / HTML |
res.json() | JSON |
res.status() | HTTP status |
res.redirect() | Redirect |
Contoh:
res.status(201).json({ message: 'Created' });