routing adalah salah satu hal yang paling penting dalam sebuah aplikasi. Tanpa routing user tidak akan dapat mengakses suatu fungsi/halaman. Pada webservices routing sangat berguna untuk mendistribusikan api-nya.
Routing (menurut : https://expressjs.com/en/starter/basic-routing.html) adalah sebuah metode yang menggambarkan bagaimana aplikasi melakukan respon terhadap request dari client pada endpoint tertentu. End point adalah alamat uri atau path yang diakses oleh client. End point tersebut akan diakses dengan metode request tertentu seperti : GET. POST, PUT ,DELETE ataupun yang lainnya.
Contohnya adalah http://localhost/api/sendmail yang merupakan sebuah endpoint. Dengan menggunakan routing endpoint tersebut dapat disisipi dengan fungsi tertentu.
misalnya mengirimkan email sehingga ketika user melakukan akses atau request terhadap endpoint tersebut server dapat melakukan fungsi mengirim email serta mengirimkan respon terhadap user yang menandakan bahwa email tersebut berhasil dikirimkan atau justru gagal dikirim.
Fungsi yang telah tersisip didalam endpoint tersebut hanya akan dijalankan ketika memenuhi syarat-syarat tertentu yang dapat didefinisikan melalui express. Misalnya, harus menggunakan metode http post dengan spesifikasi request body tertentu. Request body adalah data (biasannya berupa json) yang dikirim pada endpoint. Contohnya untuk mengirimkan email dibutuhkan data :
- Email yang dituju
- Subject
- Isi email
Ketiga data tersebut dapat dijadikan syarat untuk mengeksekusi fungsi mengirim email pada endpoint. Kesimpulannya adalah routing (express router) membantu kita dalam membangun sebuah endpoint(mungkin dapat disebut web services) karena dikonsumsi menggunakan http dengan batasan-batasan tertenu untuk melakukan fungsi tertentu.
cara Membuat Rute API dengan Menggunakan Nodejs Express
untuk mendefinisikan route pada express dilakukan dengan menggunakan kode berikut :
app.METHOD(PATH, HANDLER)
keterangan :
1. Method adalah http method, dapat berupa POST, GET, PUT, DELETE atau yang lainnya.
2. App merupakan instance dari express
3. Path adalah alamat endpoint yang akan dituju pada server.
4. Handler adalah fungsi callback yang akan dieksekusi oleh server ketika routing mengarah ke endpoint yang benar(telah terdefinisi).
Membuat API rute endpoint GET
Berikut ini adalah contoh routing menampilkan text helloworld pada endpoint /welcome
App.get(‘/welcome’, function(req, res){ Res.send(‘selamat datang’); });
keterangan :
1. Req/request adalah object yang terdapat pada fungsi handler yang memiliki fungsi untuk menghandle data/object yang di masukan oleh user pada saat melakukan request (Biasannya diletakan di request body)
2. Res/response adalah object yang terdapat pada fungsi handler yang memiliki fungsi untuk menghandle respon yang akan diberikan ke client. Contohnya fungsi .send() untuk mengirimkan pesan/data pada client. Conthonya lainnya adalah .status() untuk memberikan http status. Contoh http status : 200(ok), 400(bad request), 404(forbidden) dan lain-lain.
Contoh metode http lain pada routing adalah :
Membuat API rute endpoint POST
post biasannya digunakan untuk menambahkan data baru.
App.post(‘/welcome’, function(req, res){ Res.send(‘selamat datang, dieksekusi dengan http post’); });
Membuat API rute endpoint PUT
put , biasannya digunakan untuk merevisi suatu data
App.put(‘/welcome’, function(req, res){ Res.send(‘selamat datang, dieksekusi dengan http put’); });
Membuat API rute endpoint DELETE
delete, biasannya digunakan untuk menghapus data
App.delete(‘/welcome’, function(req, res){ Res.send(‘selamat datang, dieksekusi dengan http delete’); });
Membuat API rute endpoint ALL
dan terahir terdapat method .all() pada instance express yang berfungsi untuk melakukan route dengan menerima segala jenis http method (post,get,put,delete).
tidak disarankan untuk menggunakan API endpoint dengan method ALL. ini dapat menyebabkan banyak inkonsistensi dalam endpoint tersebut. Gunakan kaidah POST, PUT dan DELETE
[…] mengerti express. Minimal pada proses routing atau anda dapat membaca express routing chapter 1 : http://degananda.com/2017/04/08/express-routing-route-method/ ad Chapter 2 akan dirilis segera yang akan membahas lebih dalam mengenai router dan Router Module […]