Guys follow ig mimin Follow Instagram

Belajar Backend Part 11 - Menerapkan API di Express.js dengan Restful Services

Menerapkan API di Express.js dengan Restful Services

Menerapkan API di Express.js dengan Restful Services

API Restful Services

Dalam artikel ini, kita akan mempelajari cara membuat API menggunakan Express.js dengan pendekatan Restful Services. Restful API memungkinkan aplikasi untuk saling berinteraksi menggunakan HTTP dengan berbagai metode seperti GET, POST, PUT, dan DELETE.

Apa itu Restful API?

REST (Representational State Transfer) adalah gaya arsitektur perangkat lunak yang memanfaatkan HTTP untuk komunikasi antara klien dan server. API yang mengikuti prinsip REST disebut RESTful API. Dengan RESTful API, aplikasi web dan mobile dapat berkomunikasi dengan backend menggunakan HTTP methods yang standar.

Langkah-langkah Membuat RESTful API dengan Express.js

Berikut adalah langkah-langkah untuk membuat RESTful API dengan Express.js:

1. Install Express.js

Langkah pertama adalah menginstal Express.js dan membuat aplikasi dasar. Jika belum memiliki project Node.js, buat terlebih dahulu dengan perintah berikut:


npm init -y
npm install express

    

2. Membuat Server Express.js

Setelah menginstal Express, buatlah file app.js dan tulis kode berikut untuk memulai server Express:


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

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

app.listen(port, () => {
    console.log(`Server berjalan di http://localhost:${port}`);
});

    

3. Menambahkan Route untuk RESTful API

Untuk membuat endpoint API yang dapat menerima dan merespons permintaan, kita perlu menambahkan beberapa route untuk metode HTTP.


app.get('/api/users', (req, res) => {
    res.json([{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' }]);
});

app.post('/api/users', (req, res) => {
    const newUser = req.body;
    res.status(201).json(newUser);
});

app.put('/api/users/:id', (req, res) => {
    const userId = req.params.id;
    const updatedUser = req.body;
    res.json({ id: userId, ...updatedUser });
});

app.delete('/api/users/:id', (req, res) => {
    const userId = req.params.id;
    res.status(204).send();
});

    

Penjelasan Kode

  • GET: Mengambil data pengguna dari server. Contoh URL: /api/users.
  • POST: Menambahkan pengguna baru ke server. Data pengguna dikirim melalui request body.
  • PUT: Memperbarui informasi pengguna yang sudah ada. Diperlukan ID pengguna yang ingin diperbarui.
  • DELETE: Menghapus pengguna berdasarkan ID.

Handling Request Body

Untuk menangani data yang dikirim dalam request body, kita perlu menambahkan middleware express.json() agar Express dapat memparsing JSON yang dikirimkan:


app.use(express.json());

    

Testing API dengan Postman

Untuk menguji API yang kita buat, kita dapat menggunakan Postman atau alat serupa. Berikut adalah cara menguji masing-masing metode:

  • GET: Kirim permintaan GET ke http://localhost:3000/api/users untuk mendapatkan data pengguna.
  • POST: Kirim permintaan POST ke http://localhost:3000/api/users dengan body JSON untuk menambah pengguna baru.
  • PUT: Kirim permintaan PUT ke http://localhost:3000/api/users/:id dengan body JSON untuk memperbarui pengguna.
  • DELETE: Kirim permintaan DELETE ke http://localhost:3000/api/users/:id untuk menghapus pengguna berdasarkan ID.

Kesimpulan

Dengan menggunakan Express.js, kita dapat dengan mudah membuat RESTful API untuk aplikasi web atau mobile. API ini dapat digunakan untuk berinteraksi dengan database dan melakukan berbagai operasi CRUD (Create, Read, Update, Delete). Pendekatan ini memberikan kemudahan dalam pengembangan aplikasi yang terpisah antara frontend dan backend.

Posting Komentar

Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.