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

MethodFungsi
GETAmbil data
POSTTambah data
PUTUpdate data (full)
PATCHUpdate data (partial)
DELETEHapus 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

MethodFungsi
res.send()Text / HTML
res.json()JSON
res.status()HTTP status
res.redirect()Redirect

Contoh:

res.status(201).json({ message: 'Created' });

hyvercode

Leave a Reply

Your email address will not be published. Required fields are marked *