Hari 9: HTTP Request dan Response

30 Hari Javascript

·

3 min read

Hari 9: HTTP Request dan Response

Mengenal HTTP Method

HTTP method adalah method-method yang disediakan server sebagai sarana untuk melakukan request terhadap server.

Berikut adalah HTTP Method:

MethodPenggunaan ExpressKeterangan
GETapp.get()Method GET biasanya digunakan hanya mengambil data.
POSTapp.post()Method POST digunakan untuk mengirimkan entitas ke server yang ditentukan, sering menyebabkan perubahan pada keadaan atau efek samping pada server.
PUTapp.put()Method PUT menggantikan data yang ada dengan data yang dikirimkan.
DELETEapp.delete()Method DELETE untuk menghapus data yang ada.

Penjelasan HTTP method bisa dibaca di sini

https://raw.githubusercontent.com/AsrulLove/img-db/master/req-res.png

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.

https://raw.githubusercontent.com/AsrulLove/img-db/master/request.png

Express telah menyediakan properti-properti yang bertindak sebagai request, berikut beberapa daftar request yang disediakan oleh express:

PropertiDeskripsi
.appReferensi object pada express
.cookiesBerisi informasi cookie yang dikirim, ini dapat digunakan jika menggunakan middleware cookie-parser
.hostnameInformasi hosname web server
.ipInformasi IP server
.methodHTTP Methode yang digunakan
.paramsMenampilkan informasi sesuai dengan nama parameter
.pathNemampilkan informasi jalur URL
.protocolMenampilkan protocol request
.queryObjek yang berisi informasi query dari request yang berlangsung
.securetrue jika request merupakan reques yang secure (digunakan pada HTTPS)
.signedCookiesBerisi signed cookies oleh request, dapat digunakan jika menggunakan middleware cokie-parser
.xhrBernilai true jika request adalah XMLHttpRequest
.bodyBerisi data yang dituliskan pada body request
.headerBerisi data yang dituliskan pada header request
.baseUrlInformasi pengalamatan utama web server
.originalUrlInformasi 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.

https://raw.githubusercontent.com/AsrulLove/img-db/master/penulisan-query.png

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");
});