MEAN.JS - REST API
Dalam bab ini, kita akan melihat aplikasi kita berinteraksi melalui REST API dengan database kita dengan menggunakan metode HTTP. Istilah REST adalah singkatan dari REpresentational State Transfer, yang merupakan gaya arsitektur yang dirancang untuk berkomunikasi dengan layanan web dan API adalah singkatan dari Application Program Interface yang memungkinkan aplikasi berinteraksi satu sama lain.
Pertama, kita akan membuat RESTful API untuk mendapatkan semua item, membuat item, dan menghapus item. Untuk setiap item, _id akan dibuat secara otomatis oleh MongoDB. Tabel di bawah ini menjelaskan bagaimana aplikasi harus meminta data dari API -
Metode HTTP | Jalur URL | Deskripsi |
---|---|---|
DAPATKAN | /api/students | Ini digunakan untuk mendapatkan semua siswa dari koleksi Siswa. |
POS | /api/students/send | Ini digunakan untuk membuat catatan siswa dalam koleksi Siswa. |
MENGHAPUS | /api/students/student_id | Ini digunakan untuk menghapus catatan siswa dari koleksi Siswa. |
Rute API RESTful
Kami pertama-tama akan membahas Metode Posting di RESTful API Routes.
POS
Pertama mari kita buat catatan dalam koleksi Student melalui REST API kita. Kode untuk kasus khusus ini dapat ditemukan di file server.js . Sebagai referensi, bagian kode ditempel di sini -
app.post('/api/students/send', function (req, res) {
var student = new Student(); // create a new instance of the student model
student.name = req.body.name; // set the student name (comes from the request)
student.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'student created!' });
});
});
Eksekusi
Anda dapat mengunduh kode sumber untuk aplikasi ini di tautan ini . Unduh file zip; ekstrak di sistem Anda. Buka terminal dan jalankan perintah di bawah ini untuk menginstal dependensi modul npm.
$ cd mean-demon-consuming_rest_api
$ npm install
Untuk mengurai permintaan, kita membutuhkan paket body parser. Karenanya, jalankan perintah di bawah ini untuk dimasukkan ke dalam aplikasi Anda.
npm install --save body-parser
Kode sumber terlampir sudah memiliki ketergantungan ini, oleh karena itu tidak perlu menjalankan perintah di atas, ini hanya untuk info Anda.
Untuk menjalankan aplikasi, navigasikan ke direktori proyek yang baru Anda buat dan jalankan dengan perintah yang diberikan di bawah ini -
npm start
Anda akan mendapatkan konfirmasi seperti yang ditunjukkan pada gambar di bawah ini -
Ada banyak alat untuk menguji panggilan API, di sini kami menggunakan salah satu ekstensi ramah pengguna untuk Chrome yang disebut Postman REST Client .
Buka Postman REST Client, masukkan URL sebagai http://localhost:3000/api/students/send, pilih metode POST . Selanjutnya, masukkan data permintaan seperti yang ditunjukkan di bawah ini -
Perhatikan bahwa kami mengirimkan data nama sebagai x-www-form-urlencoded . Ini akan mengirim semua data kami ke server Node sebagai string kueri.
Klik pada tombol Send untuk membuat catatan siswa. Pesan sukses akan muncul seperti yang ditunjukkan di bawah ini -
DAPATKAN
Selanjutnya, mari kita dapatkan semua catatan siswa dari mongodb. Rute berikut perlu ditulis. Anda dapat menemukan kode lengkap di file server.js .
app.get('/api/students', function(req, res) {
// use mongoose to get all students in the database
Student.find(function(err, students) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
res.send(err);
res.json(students); // return all students in JSON format
});
});
Selanjutnya, buka Postman REST Client, masukkan URL sebagai
http://localhost:3000/api/students, pilih metode GET dan klik tombol Send untuk mendapatkan semua siswa.
MENGHAPUS
Selanjutnya, mari kita lihat cara menghapus record dari koleksi mongo kami melalui panggilan REST api.
Rute berikut perlu ditulis. Anda dapat menemukan kode lengkap di file server.js .
app.delete('/api/students/:student_id', function (req, res) {
Student.remove({
_id: req.params.student_id
}, function(err, bear) {
if (err)
res.send(err);
res.json({ message: 'Successfully deleted' });
});
});
Selanjutnya, buka Postman REST Client, masukkan URL sebagai
http://localhost:3000/api/students/5d1492fa74f1771faa61146d
(di sini 5d1492fa74f1771faa61146d adalah catatan yang akan kami hapus dari koleksi Siswa).
Pilih metode DELETE dan klik tombol Send untuk mendapatkan semua siswa.
Anda dapat memeriksa MongoDB untuk data yang dihapus, dengan melakukan panggilan GET ke http://localhost:3000/api/students/5d1492fa74f1771faa61146d.