REST (Representational State Transfer) API—terkadang disebut sebagai RESTful AP—adalah API yang menggunakan permintaan HTTP untuk mengakses dan menggunakan sumber daya.

Sumber daya ini sering direpresentasikan dalam format JSON meskipun pada beberapa kesempatan format XML, teks, dan HTML digunakan. REST API telah menjadi cara standar bagi aplikasi untuk bertukar data melalui jaringan melalui metode HTTP seperti GET, PUT, POST, dan DELETE. Mereka memfasilitasi membuat, membaca, memperbarui, dan menghapus sumber daya yang biasa disebut sebagai operasi CRUD.

Panduan ini mengeksplorasi bagaimana Anda dapat menggunakan Node.js. JS untuk membuat CRUD Restful API sederhana.

Yang Perlu Anda Ikuti

Pastikan Anda telah menginstal Node.js di mesin lokal Anda. Lari simpul -v untuk memeriksa apakah Node. JS diinstal. Perintah ini harus mengembalikan nomor versi.

Terkait: Cara Menginstal Node.js di Windows

Anda juga harus memiliki contoh kerja favorit Anda editor teks (misalnya Kode VS).

Pengaturan Proyek

Buat folder untuk aplikasi Anda dan navigasikan ke sana. Di terminal dan di direktori yang baru saja Anda buat, inisialisasi

instagram viewer
package.json dengan berlari npm init.

$npm init -y 

Itu package.json akan membantu Anda menginstal dan mengelola paket npm. Itu -y flag membuat file package.json menggunakan opsi default tanpa Anda harus menyiapkan detail individual. Output pada terminal Anda akan terlihat seperti ini. Perhatikan bahwa namanya akan berbeda tergantung pada apa yang Anda beri nama folder Anda.

Siapkan Server

Untuk membuat server, instal Express.js dan Nodemon terlebih dahulu. Express.js adalah Node.js. Kerangka kerja Js yang dirancang untuk membuat pengembangan aplikasi web dan API lebih mudah. Anda akan menggunakannya untuk konfigurasikan server dan titik akhir API. Nodemon di sisi lain adalah alat pengembangan yang akan memulai ulang server Anda ketika kode aplikasi Anda berubah.

Jalankan perintah berikut untuk menginstal cepat dan nodemon:

npm saya mengekspresikan nodemon 

Selanjutnya, untuk membuat server Anda, buat file dan beri nama server.js lalu tambahkan kode berikut.

// Membutuhkan ekspres
const ekspres = membutuhkan("ekspres");
// Inisialisasi ekspres
aplikasi const = ekspres();
const PORT = 8080;
// mengurai JSON
app.use (express.json());
// mengurai data yang disandikan URL
app.use (express.urlencoded({ extended: true }));
// buat server
app.listen (PORT, () => {
console.log(`Server berjalan pada port ${PORT}`);
});

Dalam kode di atas, minta express di. Anda server.js file dan inisialisasi. Kemudian, konfigurasikan express untuk mengurai JSON dan data yang disandikan URL. Terakhir, buat server menggunakan mendengarkan() metode dari Express.

Terkait: Apa itu Express.js dan Mengapa Anda Harus Menggunakannya?

Memulai: Buat Array untuk Menyimpan Data Pengguna

Untuk tujuan kesederhanaan, Anda tidak akan menggunakan database melainkan array pengguna sederhana. Di app.js Anda, tambahkan kode berikut setelah baris yang mengurai data yang disandikan URL.

pengguna konstan = [{
nomor: 1,
nama: "Jane Doe",
usia: "22",
},
{
nomor: 2,
nama: "John Doe",
usia: "31",
}];

Terkait: Cara Membuat Database dan Koleksi di MongoDB

Cara Mengatur Rute di Express.js

Untuk melakukan operasi pada data Anda, Anda perlu menyiapkan perutean. Rute akan menentukan bagaimana aplikasi Anda akan menanggapi permintaan yang dibuat ke titik akhir tertentu. Setiap rute memiliki metode HTTP, URL, dan fungsi handler yang menangani permintaan dan respons HTTP. Untuk mengatur rute, tambahkan berikut ini ke server.js file setelah Anda pengguna Himpunan.

app.post('/create', (req, res) => {
// Buat pengguna
});
app.get('/pengguna', (permintaan, res) => {
// Mengambil semua pengguna
});
app.get('/user/:userID', (req, res) => {
// Mengembalikan pengguna berdasarkan ID
});
app.put('/user/:userID', (req, res) => {
// Perbarui pengguna dengan ID
});
app.delete('/delete/:userID', (permintaan, res) => {
// Hapus pengguna dengan ID
});
app.delete('/pengguna', (permintaan, res) => {
// Hapus semua pengguna
});

Cara Melakukan Operasi CRUD di Node.js Js

Anda perlu membuat fungsi yang akan memanipulasi data pengguna dan mengembalikan respons sesuai dengan rute yang cocok. Fungsi-fungsi ini akan membuat, membaca, memperbarui, dan menghapus data pengguna.

Terkait: Cara melakukan Operasi CRUD di MongoDB

Cara Membuat Pengguna Baru

Untuk membuat pengguna baru, Anda perlu:

  • Periksa apakah badan permintaan kosong—jika ya, kirim respons kesalahan.
  • Ekstrak data pengguna dari badan permintaan.
  • Validasi data pengguna.
  • Dorong data pengguna ke array.

Perhatikan bahwa Anda menggunakan array hanya untuk tujuan kesederhanaan. Dalam skenario kasus nyata, Anda akan berinteraksi dengan database.

Edit rute POST Anda seperti di bawah ini.

app.post("/create", (req, res) => {
// Periksa apakah badan permintaan kosong
if (!Object.keys (req.body).length) {
kembali res.status (400).json({
pesan: "Badan permintaan tidak boleh kosong",
});
}
// Gunakan perusakan objek untuk mendapatkan nama dan usia
const { nama, umur } = req.body;
if (!nama || !umur) {
res.status (400).json({
pesan: "Pastikan Anda mengirim nama dan usia",
});
}
const pengguna baru = {
id: pengguna.panjang + 1,
nama,
usia,
};
mencoba {
pengguna.push (Pengguna baru);
res.status (201).json({
pesan: "Berhasil membuat pengguna baru",
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal membuat pengguna",
});
}
});

Cara Membaca Pengguna

Untuk mengambil semua pengguna, kembalikan array pengguna dalam respons Anda.

app.get("/pengguna", (permintaan, res) => {
mencoba {
res.status (200).json({
pengguna
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal mengambil semua pengguna",
});
}
});

Jika Anda menguji rute ini menggunakan tukang pos, Anda akan menerima larik pengguna di badan respons.

Untuk mengambil satu pengguna saja:

  • Dapatkan ID pengguna dari parameter URL.
  • Menggunakan Temukan() untuk mengidentifikasi data pengguna tertentu yang Anda minta.
  • Kembalikan pengguna dalam tanggapan.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
mencoba {
biarkan pengguna = users.find((user) => user.id id);
jika (!pengguna) {
kembali res.status (404).json({
pesan: "Pengguna tidak ditemukan",
});
}
res.status (200).json({
pengguna,
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal mengambil pengguna",
});
}
});

Cara Memperbarui Pengguna

Untuk memperbarui pengguna:

  • Ambil ID pengguna dari URL.
  • Menggunakan Temukan() untuk memeriksa apakah pengguna ada.
  • Menggunakan Indeks() untuk mendapatkan indeks pengguna yang direferensikan.
  • Gunakan indeks untuk mengedit data pengguna dengan data yang dikirim melalui badan permintaan.
app.put("/users/:userID", (req, res) => {
mencoba {
const id = parseInt (req.params.userID);
biarkan pengguna = users.find((user) => user.id id);
jika (!pengguna) {
kembali res.status (404).json({
pesan: "Pengguna tidak ditemukan",
});
}
const userIDX = users.indexOf (pengguna);
pengguna[userIDX].name = req.body.name || pengguna[IDX pengguna].nama;
pengguna[userIDX].age = req.body.age || pengguna[IDX pengguna].usia;
res.status (200).json({
pesan: "Pengguna berhasil diperbarui",
pengguna,
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal mengambil pengguna",
});
}
});

Cara Menghapus Pengguna

Anda dapat memilih untuk menghapus satu pengguna atau semua pengguna.

Untuk menghapus satu pengguna:

  • Ambil ID pengguna dari URL
  • Menggunakan Temukan() untuk memeriksa apakah pengguna itu ada
  • Menggunakan temukanIndeks() untuk mendapatkan indeks pengguna yang direferensikan.
  • Menggunakan sambatan() untuk menghapus pengguna di indeks itu.
app.delete("/users/:userID", (req, res) => {
mencoba {
const id = req.params.userID;
biarkan userIDX = users.findIndex((user) => user.id id);
jika (!userIDX) {
res.status (404).json({
pesan: "Pengguna tidak ditemukan",
});
}
pengguna.sambatan (userIDX, 1);
res.status (200).json({
pesan: "Pengguna berhasil dihapus",
pengguna,
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal menghapus pengguna",
});
}
});

Untuk menghapus semua pengguna, pisahkan seluruh array.

app.delete("/pengguna", (permintaan, res) => {
mencoba {
pengguna.sambatan (0, pengguna.panjang);
res.status (200).json({
pesan: "Berhasil menghapus semua pengguna",
pengguna,
});
} tangkap (kesalahan) {
res.status (500).json({
pesan: "Gagal menghapus pengguna",
x,
});
}
});

Pelajari Lebih Lanjut Tentang RESTful API

Tutorial ini membahas cara membuat RESTful API dasar di Node.js. JS. Anda telah mempelajari cara membuat server Express, mengatur rute, dan terakhir, membuat fungsi pengendali yang berinteraksi dengan data Anda melalui permintaan/tanggapan HTTP.

Namun ada beberapa topik penting yang tidak tercakup di sini yang harus Anda teliti lebih lanjut, termasuk cara menghubungkan aplikasi Anda ke database seperti MongoDB dan cara mengamankan rute.

Bagaimana Basis Data MongoDB Dapat Mengatur Data Anda dengan Lebih Baik

MongoDB (dari "humongous") adalah database berorientasi dokumen lintas platform yang digunakan sebagai alternatif MySQL. Tapi apa artinya itu?

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • JavaScript
  • API
Tentang Penulis
Mary Gathoni (2 Artikel Diterbitkan)

Mary Gathoni adalah pengembang perangkat lunak dengan hasrat untuk membuat konten teknis yang tidak hanya informatif tetapi juga menarik. Ketika dia tidak coding atau menulis, dia senang bergaul dengan teman-teman dan berada di luar ruangan.

More From Mary Gathoni

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan