API s POST parametry ve formátu JSON v PHP

Někdy se stává, že parametry představují pole. V tomto případě by měly být takové parametry zabaleny do JSON. Podívejme se na příklad. Předpokládejme, že máme následující API, které očekává pole ve formátu JSON a vrací součet prvků tohoto pole:

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

Pojďme vytvořit požadavek na toto API:

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

Vytvořte API, které jako parametr přijme pole datumu a vrátí pole historických událostí, které se staly v předaných datech.