API POST-parametreilla JSON-muodossa PHP:ssä

Joskus parametrit ovat taulukoita. Tässä tapauksessa tällaiset parametrit tulisi pakata JSON-muotoon. Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava API, joka odottaa taulukkoa JSON-muodossa ja palauttaa kyseisen taulukon alkioiden summan:

api.loc/index.php<?php
  echo array_sum(json_decode($_POST['json'], true));
?>

Tehdäänpyyntö tähän API:hin:

tst.loc/index.php<?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);
?>
Задание 1

Tee API, joka parametrina vastaanottaa päivämäärätaulukon, ja palauttaa taulukon historiallisista tapahtumista, jotka tapahtuivat annettuina päivämäärinä.