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

Express JS Introduction

Express.js adalah framework web untuk Node.js yang digunakan untuk membuat server dan API dengan cara yang sederhana, cepat, dan fleksibel.

Express.js biasanya dipakai untuk:

  • Membuat REST API (JSON API)
  • Backend untuk Web App / Mobile App
  • Mengelola routing (URL)
  • Mengelola request & response
  • Middleware (auth, logging, validation, dll)

Kenapa Express.js Populer?

  • Minimal & Ringan
  • Mudah dipelajari
  • Ekosistem besar
  • Cocok untuk microservice & monolith
  • Sudah bayak dipakai di Industri

Contoh Sederhana Express.js

npm init -y
npm install express

Buat Server

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello Express!');
});

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

Konsep Penting di Express.js

1. Routing

app.get('/users', (req, res) => {
  res.json([{ id: 1, name: 'Andi' }]);
});

2. Middleware

app.use(express.json()); // parsing JSON body

Middleware dipakai untuk:

  • Auth (JWT)
  • Logging
  • Validation
  • Error handling

3. Request & Response

app.post('/login', (req, res) => {
  const { email, password } = req.body;
  res.json({ message: 'Login success' });
});

Express.js Biasanya Dipakai Bersama

  • Database: MySQL, PostgreSQL, MongoDB
  • ORM: Prisma, Sequelize, TypeORM
  • Auth: JWT, Passport.js
  • Frontend: React, Vue, Next.js
  • Realtime: Socket.io

hyvercode