in

Tutorial Membuat API REST & Dokumentasi Swagger

Tutorial Membuat REST API

API REST (Representational State Transfer) adalah arsitektur populer untuk membangun layanan web yang dapat digunakan oleh berbagai aplikasi. API REST memungkinkan pertukaran data antara server dan klien menggunakan protokol HTTP. Artikel ini akan memandu Anda langkah demi langkah dalam membuat API REST menggunakan Node.js dan Express, dua teknologi yang banyak digunakan untuk pengembangan backend.

Mempersiapkan lingkungan

Sebelum Anda mulai membuat REST API, pastikan alat-alat berikut telah terpasang:

Node.js: Gunakan dari situs web resmi Node.js; npm (Node Package Manager) akan digunakan secara otomatis.

Editor Kode: Misalnya, Visual Studio Code atau editor apa pun yang mendukung JavaScript.

Postman atau curl: Untuk menguji API yang telah dibuat.

Setelah penggunaan, buka terminal dan jalankan:

bash id="nodeversion"
node -v
npm -v

Ini memastikan bahwa Node.js dan npm penggunaan dengan benar.

Buat proyek Node.js baru

Buat folder proyek baru dan jalankan:

bash id="npminit"
npm init -y

Ini akan membuat file package.json yang berisi metadata proyek. Kemudian gunakan Express:

bash id="npminstallexpress"
npm instal express

Express adalah framework ringan untuk Node.js yang menyederhanakan pembuatan server dan rute.

Buat server dasar

Buat file server.js dan tambahkan kode berikut:

javascript id="expressserver"
const express = require('express');
const app = express();
konstanta PORT = 3000;

app.use(express.json());

aplikasi.get('/', (req, res) => {
res.send('API REST berjalan dengan sukses!');
});

aplikasi mendengarkan(PORT, () => {
console.log(`Server berjalan di http://localhost:${PORT}`);
});

Kode ini membuat server sederhana yang mendengarkan pada port 3000 dan mengeluarkan pesan ketika jalur root diakses.

Tambahkan endpoint CRUD

API REST biasanya berisi operasi CRUD: Buat, Baca, Perbarui, Hapus. Contoh:

javascript id="crudapi"
biarkan pengguna = [
{ id: 1, nama: 'Ali' },
{ id: 2, nama: 'Budi' }
];

// BACA - Ambil semua pengguna
aplikasi.get('/users', (req, res) => {
res.json(pengguna);
});

// BACA - Mengambil pengguna berdasarkan ID
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
Jika (!user) kembalikan res.status(404).send('Pengguna tidak ditemukan');
res.json(user);
});

// BUAT - Tambahkan pengguna baru
app.post('/users', (req, res) => {
const newUser = {
id: users.length + 1,
nama: req.body.name
};
pengguna.push(pengguna baru);
res.status(201).json(newUser);
});

// PEMBARUAN - Perbarui pengguna
app.put('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
Jika (!user) kembalikan res.status(404).send('Pengguna tidak ditemukan');
nama pengguna = nama isi permintaan;
res.json(user);
});

// HAPUS - Hapus pengguna
app.delete('/users/:id', (req, res) => {
const index = users.findIndex(u => u.id === parseInt(req.params.id));
Jika (indeks === -1) kembalikan res.status(404).kirim('Pengguna tidak ditemukan');
const deletedUser = users.splice(index, 1);
res.json(pengguna yang dihapus);
});

Dengan kode ini, API REST sederhana memiliki semua operasi CRUD untuk entitas users.

Mulai dan uji API

Untuk memulai server, jalankan perintah berikut:

bash id="runserver"
node server.js

Gunakan Postman atau curl untuk mengirim permintaan ke endpoint:

GET http://localhost:3000/users → Mengambil semua pengguna

GET http://localhost:3000/users/1 → Ambil pengguna dengan ID 1

POST http://localhost:3000/users dengan isi { "name": "Citra" } → Buat pengguna baru

PUT http://localhost:3000/users/2 with body { "name": "Budi Updated" } → Update user

DELETE http://localhost:3000/users/1 → Hapus pengguna

Tips untuk REST API yang baik

Gunakan kode status HTTP yang benar: 200 untuk berhasil, 201 untuk sumber daya baru, 404 untuk tidak ditemukan, 500 untuk kesalahan server.

Gunakan JSON: JSON adalah standar untuk pertukaran data dalam API REST.

Pisahkan rute dan logika: Untuk proyek yang lebih besar, rute dan controller harus diatur dalam folder terpisah.

Gunakan middleware: Misalnya, untuk otentikasi, pencatatan log, atau penanganan kesalahan.

Dokumentasikan API: Alat seperti Swagger mempermudah penggunaan dan pemahaman API.

Tutorial Membuat Dokumentasi Swagger

Swagger adalah salah satu alat paling populer untuk mendokumentasikan REST API. Dengan Swagger, pengembang dapat membuat dokumentasi interaktif sehingga pengembang atau pengguna lain dapat memahami dan menguji API langsung di browser. Dalam artikel ini, Anda akan mempelajari cara membuat dokumentasi Swagger untuk REST API Anda menggunakan Node.js dan Express.

Mempersiapkan lingkungan

Sebelum memulai, pastikan alat-alat berikut sudah terpasang:

Node.js dan npm: Untuk menjalankan server dan mengelola paket.

Express: Sebuah framework untuk Node.js untuk membuat REST API.

Swagger UI dan swagger-jsdoc: Pustaka untuk membuat dokumentasi API.

Untuk memulai proyek baru, jalankan perintah berikut:

bash id="npminitswagger"
npm init -y
npm install express swagger-ui-express swagger-jsdoc

swagger-ui-express: Menyediakan antarmuka web interaktif untuk dokumentasi.

swagger-jsdoc: Membaca komentar JSDoc dalam kode dan mengubahnya menjadi dokumentasi Swagger.

Buat server dasar

Buat file server.js dan tambahkan kode berikut:

javascript id="serverbasic"
const express = require('express');
const app = express();
konstanta PORT = 3000;

app.use(express.json());

aplikasi.get('/', (req, res) => {
res.send('Server API sedang berjalan!');
});

aplikasi mendengarkan(PORT, () => {
console.log(`Server berjalan di http://localhost:${PORT}`);
});

Kode ini membuat server sederhana yang siap diintegrasikan dengan Swagger.

Konfigurasi Swagger

Tambahkan konfigurasi Swagger ke file yang sama:

javascript id="swaggerconfig"
const swaggerUi = require('swagger-ui-express');
const swaggerJSDoc = require('swagger-jsdoc');

const swaggerDefinition = {
openapi: '3.0.0',
info: {
judul: 'Dokumentasi API REST',
versi: '1.0.0',
deskripsi: 'Contoh dokumentasi Swagger untuk API REST',
},
server: [
{ url: 'http://localhost:3000', description: 'Server Lokal' },
],
};

const options = {
Definisi kesombongan,
apis: ['./server.js'], // File yang berisi komentar JSDoc
};

const swaggerSpec = swaggerJSDoc(options);

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));

Kode ini membuat endpoint /api-docs, yang memungkinkan akses ke dokumentasi interaktif di browser.

Tambahkan endpoint API

Contoh endpoint users:

javascript id = "titik akhir pengguna"
/**
* @swagger
* komponen:
* skema:
 *     Pengguna:
* tipe: objek
* properti:
 *         pengenal:
* tipe: bilangan bulat
* nama:
* tipe: string
*/

/**
* @swagger
* /pengguna:
 *   mendapatkan:
* Ringkasan: Mengambil semua pengguna
* tanggapan:
* 200:
* deskripsi: Daftar pengguna yang berhasil diambil
 *         isi:
* application/json:
* skema:
* tipe: array
* barang:
* $ref: '#/components/schemas/User'
*/
aplikasi.get('/users', (req, res) => {
const users = [
{ id: 1, nama: 'Ali' },
{ id: 2, nama: 'Budi' },
];
res.json(pengguna);
});

Komentar JSDoc menjelaskan endpoint dan model data User. Swagger secara otomatis menampilkan informasi ini di antarmuka web.

Memulai dan mengakses Swagger UI

Mulai server dengan:

bash id="runserver"
node server.js

Buka browser Anda dan kunjungi:

id="swaggerurl"
http://localhost:3000/api-docs

Anda sekarang sedang melihat dokumentasi interaktif yang berisi semua endpoint, model, dan kemampuan untuk menjalankan permintaan API secara langsung.

Tips untuk dokumentasi Swagger yang baik

Gunakan komentar JSDoc secara konsisten: Setiap endpoint harus dijelaskan dengan jelas.

Mendefinisikan skema: Gunakan components.schemas untuk membuat model data dapat digunakan kembali.

Tambahkan contoh: Tunjukkan contoh permintaan dan respons.

Pastikan dokumentasi selalu diperbarui: Perubahan pada API harus selalu didokumentasikan.

Gunakan OpenAPI 3.0: Versi ini menawarkan fitur modern dan dukungan yang lebih baik.

Kesimpulan

Membuat REST API dengan Node.js dan Express merupakan proses yang cepat dan efisien untuk membangun server dengan operasi CRUD lengkap. Dengan pendekatan ini, Anda dapat mengembangkan API yang terstruktur dan mudah diakses oleh aplikasi frontend, aplikasi seluler, maupun layanan pihak ketiga.

Untuk meningkatkan kualitas API, Anda dapat mengintegrasikan basis data seperti MongoDB atau MySQL, menambahkan sistem otentikasi, serta memanfaatkan middleware agar lebih aman dan profesional. Selain itu, penggunaan Swagger membantu menyederhanakan pembuatan dokumentasi API yang interaktif dan mudah dipahami.

Dengan mengonfigurasi Swagger UI dan swagger-jsdoc, Anda dapat mendokumentasikan endpoint serta menyediakan dokumentasi langsung di browser. Dokumentasi yang baik akan mempermudah pengembang lain dalam memahami dan menggunakan API Anda, sehingga mempercepat proses pengembangan secara keseluruhan.

Akulaku vs Easycash Pinjaman Online Tanpa Slip Gaji