Mengenal HTTP Method
HTTP method adalah method-method yang disediakan server sebagai sarana untuk melakukan request terhadap server.
Berikut adalah HTTP Method:
Method | Penggunaan Express | Keterangan |
GET | app.get() | Method GET biasanya digunakan hanya mengambil data. |
POST | app.post() | Method POST digunakan untuk mengirimkan entitas ke server yang ditentukan, sering menyebabkan perubahan pada keadaan atau efek samping pada server. |
PUT | app.put() | Method PUT menggantikan data yang ada dengan data yang dikirimkan. |
DELETE | app.delete() | Method DELETE untuk menghapus data yang ada. |
Penjelasan HTTP method bisa dibaca di sini
Request
Berdasarkan gambar dapat kita lihat bahwasanya kita atau user melakukan request terhadap server dengan method http melalui url atau alamat server tersebut.
HTTP method yang telah dijelaskan sebelumnya dipakai sebagai pengenal untuk mengirimkan permintaan terhadap server. Perhatikan contoh berikut.
File index.js
const express = require("express");
const app = express();
app.get("/", function (request, response) {
response.send("Webserver asrul.dev");
});
app.get("/cari-jodoh", function (request, response) {
response.send("Cari jodoh dengan http " + request.method);
});
app.post("/cari-jodoh", function (request, response) {
response.send("Cari jodoh dengan http " + request.method);
});
app.put("/cari-jodoh", function (request, response) {
response.send("Cari jodoh dengan http " + request.method);
});
app.delete("/cari-jodoh", function (request, response) {
response.send("Cari jodoh dengan http " + request.method);
});
app.listen(5000, function () {
console.log(`Server running on http://localhost:5000`);
});
module.exports = app;
Berikut hasil ketika diujicoba menggunakan Insomnia Rest.
Express telah menyediakan properti-properti yang bertindak sebagai request, berikut beberapa daftar request yang disediakan oleh express:
Properti | Deskripsi |
.app | Referensi object pada express |
.cookies | Berisi informasi cookie yang dikirim, ini dapat digunakan jika menggunakan middleware cookie-parser |
.hostname | Informasi hosname web server |
.ip | Informasi IP server |
.method | HTTP Methode yang digunakan |
.params | Menampilkan informasi sesuai dengan nama parameter |
.path | Nemampilkan informasi jalur URL |
.protocol | Menampilkan protocol request |
.query | Objek yang berisi informasi query dari request yang berlangsung |
.secure | true jika request merupakan reques yang secure (digunakan pada HTTPS) |
.signedCookies | Berisi signed cookies oleh request, dapat digunakan jika menggunakan middleware cokie-parser |
.xhr | Bernilai true jika request adalah XMLHttpRequest |
.body | Berisi data yang dituliskan pada body request |
.header | Berisi data yang dituliskan pada header request |
.baseUrl | Informasi pengalamatan utama web server |
.originalUrl | Informasi pengalamatan request dilakukan |
Contoh penggunaan .query
?nama=Asrul&umur=25
Tulis berikut pada code
app.get("/about", (req, res) => {
res.send(
"ini rute /about " + req.query.nama + " dan umurnya " + req.query.umur
);
});
Penulisan query pada request diawali dengan tanda ?
setelah endpoint, dan jika ada beberapa query dipisahkan dengan tanda &
. Query memiliki key dan value, key sebelah kiri dari tanda =
dan value berada pada sebelah kanan tanda =
. Perhatikan gambar berikut.
Response
Kabalikan dari request, response adalah proses layanan yang diberikan server pada client yang melakukan request. Sama halnya dengan request, function
atau method
response sangat banyak yang disedikan oleh express.
contoh penggunaan .redirect()
app.get("/profile", (req, res) => {
res.redirect("/login");
});
app.get("/login", (req, res) => {
res.send("silahkan Login terlebih dahulu");
});