Membuat Middle penghubung Free Api dan Aplikasi dengan Node JS


Selamat pagi di Bulan Ramadhan 😊
Terkadang kemampuan menjadi seorang backend diperlukan bagi seorang developer frontend khususnya mobile developer, tapi hal itu berlaku bagi saya sendiri entar bagaimana bagi kalian, semua memiliki jalan ninja sendiri. Hari ini kita akan membuat middle untuk menghubungkan free Api dengan aplikasi mobile yang kita buat.

Keuntungan dari membuat middle sebagai penghubung free Api dengan aplikasi yang kita buat sendiri :
- Aplikasi yang kita buat keamanannya bisa terjamin karena sebelum data masuk kedalam aplikasi di filter terlebih dahulu oleh pihak middle 
- Mengatur data apa saja yang di perlukan untuk aplikasi, sehingga tidak membebani aplikasi saat loading data. karena data yang di tampilkan adalah data yang di perlukan saja.
- Ketika terjadi perubahan pada free api , pihak mobile developer tidak perlu membuild ulang aplikasi, karena semua dapat di handle dari sisi middle.

Sebelumnya saya berharap anda sudah familiar dengan express js, karena pembuatan middle dilakukan dengan menggunakan express js. sedangkan untuk free api yang kita gunakan adalah API Fathimah Bot,  Api Fathimah Bot adalah free api content religion yang berisi jadwal sholat, alquran dan hadist.

Pertama kita buat file jadwalsholat.js dan kita coba untuk membuat function default request untuk mengetahui responsenya bagaimana

exports.get_jadwalsholat = (req, res, next) => {
   var urljadwalsholat = "https://api.banghasan.com/sholat/format/json/jadwal/kota/762/tanggal/2020-05-04";             
   requests(urljadwalsholat, function (err, row) {
   if (err) {
       res.status(400).json({ 
          'status': 'false',
          'message': err
       });
   }else{
       var responsedata = JSON.parse(row.body);
       res.status(200).json({
          'status': 'true',
          'message': 'success get sholat scedule',
          'data' : responsedata
   });
}

Output :

"status": "true",
"message": "success get sholat scedule",
"data" :{
    "status": "ok",
    "query": {
        "format": "json",
        "kota": "762",
        "tanggal": "2020-05-04"
    },
    "jadwal": {
        "status": "ok",
        "data": {
            "ashar": "14:47",
            "dhuha": "05:54",
            "dzuhur": "11:27",
            "imsak": "04:01",
            "isya": "18:32",
            "maghrib": "17:21",
            "subuh": "04:11",
            "tanggal": "Senin, 04 May 2020",

            "terbit": "05:26"
         }
      }
   }
}

Output yang di berikan  begitu berantakan dan banyak response yang seharusnya tidak perlu ditampilkan . maka kita coba untuk merubah function diatas agar response yang dihasilkan lebih rapi dan sesuai dengan apa yang ingin ditampilkan. 

var async = require('async');
const requests = require('request');

exports.get_jadwalsholat = (req, res, next) => {
    async.waterfall([
        function (callback) {
            const kodewilayah = req.body.kodewilayah;
            const tanggal = req.body.tanggal; 
            var urljadwalsholat;

            if (kodewilayah != undefined && tanggal != undefined){
                urljadwalsholat = "https://api.banghasan.com/sholat/format/json/jadwal/kota/"+kodewilayah+"/tanggal/"+tanggal;   
            }else{          
                urljadwalsholat = "https://api.banghasan.com/sholat/format/json/jadwal/kota/762/tanggal/2020-05-04";             
            }

            requests(urljadwalsholat, function (err, row) {
                if (err) {
                    callback(err, null)
                } else {

                    var datas = row.body
                    var arraynews = JSON.parse(datas);
                    callback(null, arraynews.jadwal.data);
                }
            });
        }
    ],
    function (err, caption) {
        if (err) {
            res.status(400).json({
                'status': 'false',
                'message': err
            })
        } else {
            res.status(200).json({
                'status': 'true',
                'message': 'sukses get list Jadwal Sholat',
                'data': caption
            })
        }
    })
}

Output :

"status": "true",
"message": "success get sholat scedule",
"data" :{ 
        "ashar": "14:47",
        "dhuha": "05:54",
        "dzuhur": "11:27",
        "imsak": "04:01",
        "isya": "18:32",
        "maghrib": "17:21",
        "subuh": "04:11",
        "tanggal": "Senin, 04 May 2020",

        "terbit": "05:26"
       }

Output yang diberikan begitu rapi dan tepat guna, seperti itulah kegunaan dari penggunaan middle. Sebenarnya kegunaan dari penggunaan Middle sangat banyak sekali mulai yang paling mudah seperti yang telah kita lakukan sampai sesuatu yang sebenarnya tidak boleh untuk dilakukan 😅.

Berikut saya tampilkan hasil penerapan middle pada request  jadwal sholat pada  aplikasi saya :












Membuat Middle penghubung Free Api dan Aplikasi dengan Node JS Membuat Middle penghubung Free Api dan Aplikasi dengan Node JS Reviewed by sdiik on May 04, 2020 Rating: 5

No comments:

Powered by Blogger.