5. Mengambil URL untuk Routing

Jika kita ingin mengambil URI untuk membuat URL routing, maka kita bisa mengambilnya dari objek request dengan properti url.

Contoh:

var http = require('http');

http.createServer(function (request, response){
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.write('URL: ' + request.url);
    response.end();
}).listen(8000);

console.log('Server running on http://localhost:8000');

Hasilnya:

Cara Mengakses URL di Nodejs

Dari nilai ini, kita bisa membuat router, misalnya saat orang membuaka rute ini maka jalankan fungsi ini.

Contoh:

var http = require('http');

http.createServer(function (request, response){
    response.writeHead(200, {'Content-Type': 'text/html'});
    switch(request.url){
        case '/about':
            response.write("Ini adalah halaman about");
            break;
        case '/profile':
            response.write("Ini adalah halaman profile");
            break;
        case '/produk':
            response.write("ini adalah halaman produk");
            break;
        default: 
            response.write("404: Halaman tidak ditemukan");
    }
    response.end();
}).listen(8000);

console.log('Server running on http://localhost:8000');

Hasilnya:

Membuat router aplikasi di Nodejs

Apabila kita membuka router yang belum didefinisikan, maka akan ditampilkan default atau 404.

Membuat router aplikasi di Nodejs

Cara Mengambil Query String di Nodejs

Kita sudah tahu cara membuat router dari URL, sekarang bagaimana kalau di routernya ada query string seperti ini:

URL dengan query string

Teks yang ada setelah tanda tanya (?) disebut query string.

contoh:

?harga=1000

Bagiamana cara kita mengambil nilai tersebut?

Untuk melakukannya, kita bisa menggunakan modul url.

Contoh:

var http = require('http');
var url = require('url');

http.createServer(function (request, response) {
    response.writeHead(200, { 'Content-Type': 'text/html' });
    var q = url.parse(request.url, true).query;
    var txt = 'Kata kunci: ' + q.keyword;
    response.end(txt);
}).listen(8000);

console.log("Server berjalan di http://localhost:8000")

Hasilnya:

URL dengan query string

Perhatikan beris ini:

var q = url.parse(request.url, true).query;

Pada baris tersebut, kita melakukan parsing URL dengan modul url. Lalu mengambil properti query.

Sehingga variabel q akan menjadi sebuah objek yang berisi seperti ini:

{ keyword: 'Belajar nodejs' }

Dengan demikian, kita bisa mengambil nilai 'Belajar nodejs' melaui properti keyword.

console.log(q.keyword); // 'Belajar nodejs'

Apa Selanjutnya?

Kita sudah belajar cara menggunakan modul http untuk membuat server, routing, dan mengambil query string dari request.

Nah, jika protokol yang digunakan adalah https. Nodejs juga menyediakan modul https. Cara penggunaanya sama seperti http.

Selanjutnya, coba-coba eksperimen dengan modul yang lain. Atau mulai belajar framework Express.

Karena membuat aplikasi web dengan nodejs dari nol akan lebih rumit.

Soalnya,kita harus mempertimbangkan banyak hal dalam membuat route.

Seperti:

  • Bagaimana kalau method request-nya berbeda-beda?
  • Bagaimana cara menghandle upload file?

Mungkin hal ini akan kita bahas di kesempatan berikutnya…

Selamat belajar.



sumber: www.petanikode.com

documentasi belajar

Post a Comment

أحدث أقدم