RESTFull API atau banyak orang bilang sebagai API. API yaitu antarmuka yang diperuntukan atau disediakan untuk berkomunikasi baik antar server dengan klien maupun server dengan server. API sendiri memiliki suatu anatomi yang sudah ada standarisasinya sehingga cukup mudah untuk dipahami dan dikonsumsi pengguna.
Singkatnya, yang penting disini kita mengetahui endpoint dan jenis methode serta parameter yang dibutuhkan, sehingga kita sudah dapat membuat request atau permintaan pada sebuah API.
Sudah banyak Web atau Blog yang membahas fetch ke sebuah API, jadi tidak perlu saya jelaskan garis besarnya lagi, beberapa methode fetch API diantaranya :
- Node Fetch
- Axios
- Super Agent
- GOT
- CURL
- dan Lainnya
Dan disini langsung aja kita hanya membahas, Fetch API dengan Node Fetch di Node Js.
Kita ambil contoh fetch API di Web Shopee, dimana kita disini mencari respone dari API tersebut sebuah Deskripsi.
Berikut Url API dari Web Shopee tentang Flash Sale :
https://shopee.co.id/api/v4/flash_sale/get_all_sessions
Langkah-langkahnya seperti biasa :
- Buka Aplikasi Visual Studio Code
- Klik File, lalu pilih Open Folder dan buat folder suka-suka sobat.
- Klik Terminal, lalu pilih New Terminal dan init npm terlebih dahulu
- npm init -y
- Lalu ketikan perintah :
- npm i node-fetch
- Buat file .mjs. disini saya gunakan module ES6
- Lalu paste code berikut :
import fetch from "node-fetch";
let url_api = 'https://shopee.co.id/api/v4/flash_sale/get_all_sessions';
async function get_all_sessions(){
const res = await fetch(url_api, {
"headers": {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9,id-ID;q=0.8,id;q=0.7",
"sec-ch-ua": "\"Chromium\";v=\"110\",
\"Not A(Brand\";v=\"24\",\"Google Chrome\";v=\"110\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-api-source": "pc",
"x-requested-with": "XMLHttpRequest",
"x-shopee-language": "id"
},
"referrer": "https://shopee.co.id/flash_sale",
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
});
const productdata = await res.json();
var get_data = productdata.data.sessions;
for(var i = 0; i < get_data.length;i++) {
var id = Object.keys(get_data)[i];
if(id){
console.log(get_data[id].description);
}
}
}
//-----
get_all_sessions();
Output dari Kode diatas, sobat akan mendapatkan hasil seperti ini :
Flash Sale Shopee | 7 Mar 00:00 - 7 Mar 12:00Flash Sale Shopee | 7 Mar 12:00 - 7 Mar 18:00Flash Sale Shopee | 7 Mar 18:00 - 8 Mar 00:00
Dari banyak metode fetch, perhatikan bagian :
"mode": "cors",
"credentials": "include"
Karena banyak sebagian methode saat melakukan request atau permintaan kesebuah API, sering terjadi kegagalan.
Selama mencoba,
semoga bermanfaat,
Salam satu aliran.
Teknisi-Dadakan.
0 Komentar