API dengan Parameter POST dalam Format JSON di PHP
Terkadang parameter berupa array. Dalam kasus seperti ini, parameter tersebut sebaiknya dikemas dalam JSON. Mari kita lihat contohnya. Misalkan kita memiliki API berikut, yang mengharapkan sebuah array dalam format JSON dan mengembalikan jumlah elemen dari array tersebut:
<?php
echo array_sum(json_decode($_POST['json'], true));
?>
Mari kita lakukan request ke API ini:
<?php
$url = 'http://api.loc/index.php';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
$arr = [1, 2, 3, 4, 5];
$json = json_encode($arr);
$data = ['json' => $json];
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($curl);
var_dump($res);
?>
Buatlah API yang akan menerima sebuah array berisi tanggal sebagai parameter, dan mengembalikan array peristiwa sejarah yang terjadi pada tanggal-tanggal yang dikirimkan.