Guys follow ig mimin Follow Instagram

Belajar Backend Part 14 - RESTful API

Pengantar ke RESTful API

Pengantar ke RESTful API

RESTful API

Sebelumnya kita sudah mempelajari bagaimana menghubungkan Express.js dengan MongoDB. Sekarang, kita akan melangkah lebih jauh dengan mempelajari apa itu RESTful API, mengapa sangat penting dalam aplikasi modern, dan bagaimana membangun API yang terstruktur dengan baik.

Apa itu RESTful API?

RESTful API (Representational State Transfer) adalah arsitektur yang digunakan untuk membangun API yang dapat berkomunikasi antar aplikasi atau sistem. API ini menggunakan metode HTTP (GET, POST, PUT, DELETE) untuk berinteraksi dengan sumber daya (data) yang ada di server.

RESTful API memiliki prinsip desain yang sederhana, di antaranya:

  • Stateless: Setiap permintaan dari client ke server harus berisi semua informasi yang diperlukan untuk memahami permintaan. Server tidak menyimpan status client.
  • Client-Server Architecture: Client dan server adalah dua entitas yang terpisah, yang memungkinkan keduanya untuk berkembang secara independen.
  • Cacheable: Respons dari server dapat diberi label sebagai cacheable atau tidak cacheable untuk meningkatkan performa aplikasi.
  • Uniform Interface: API memiliki antarmuka yang konsisten, yang memudahkan developer untuk berinteraksi dengan server.

Bagaimana Cara Kerja RESTful API?

RESTful API bekerja dengan mendefinisikan sumber daya (data) sebagai URL (Uniform Resource Locator) dan menggunakan metode HTTP untuk melakukan aksi terhadap sumber daya tersebut. Berikut adalah beberapa metode HTTP yang paling umum digunakan dalam RESTful API:

  • GET: Digunakan untuk mengambil data dari server.
  • POST: Digunakan untuk menambahkan data baru ke server.
  • PUT: Digunakan untuk memperbarui data yang ada di server.
  • DELETE: Digunakan untuk menghapus data dari server.

Contoh Implementasi RESTful API dengan Express.js

Kita akan membuat API sederhana dengan Express.js untuk mengelola data pengguna. Di bawah ini adalah contoh implementasi endpoint RESTful API untuk menambahkan, mengambil, memperbarui, dan menghapus data pengguna:


// Import libraries
const express = require('express');
const mongoose = require('mongoose');
const app = express();

// Connect to MongoDB
mongoose.connect('mongodb://localhost:27017/myDatabase', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

// Define User schema
const userSchema = new mongoose.Schema({
    name: { type: String, required: true },
    email: { type: String, required: true, unique: true }
});

const User = mongoose.model('User', userSchema);

// Middleware to parse JSON data
app.use(express.json());

// GET: Retrieve all users
app.get('/users', (req, res) => {
    User.find()
    .then(users => res.status(200).json(users))
    .catch(error => res.status(500).json({ error: 'Unable to fetch users' }));
});

// POST: Add a new user
app.post('/users', (req, res) => {
    const { name, email } = req.body;
    const newUser = new User({ name, email });

    newUser.save()
    .then(user => res.status(201).json(user))
    .catch(error => res.status(400).json({ error: 'Unable to add user' }));
});

// PUT: Update a user
app.put('/users/:id', (req, res) => {
    const { id } = req.params;
    const { name, email } = req.body;

    User.findByIdAndUpdate(id, { name, email }, { new: true })
    .then(updatedUser => res.status(200).json(updatedUser))
    .catch(error => res.status(400).json({ error: 'Unable to update user' }));
});

// DELETE: Delete a user
app.delete('/users/:id', (req, res) => {
    const { id } = req.params;

    User.findByIdAndDelete(id)
    .then(() => res.status(200).json({ message: 'User deleted successfully' }))
    .catch(error => res.status(400).json({ error: 'Unable to delete user' }));
});

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

    

Dengan kode di atas, kita telah membuat empat endpoint dasar untuk berinteraksi dengan data pengguna:

  • GET /users: Mengambil daftar semua pengguna.
  • POST /users: Menambahkan pengguna baru.
  • PUT /users/:id: Memperbarui informasi pengguna berdasarkan ID.
  • DELETE /users/:id: Menghapus pengguna berdasarkan ID.

Kesimpulan

RESTful API adalah fondasi utama dalam pengembangan aplikasi web modern. Dengan menggunakan prinsip-prinsip REST, kita dapat membangun API yang mudah dipahami, efisien, dan mudah untuk berkomunikasi antara client dan server. Pada artikel ini, kita sudah melihat bagaimana cara membuat API menggunakan Express.js yang dapat menangani berbagai metode HTTP untuk berinteraksi dengan data dalam database.

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.