API cu parametri POST în format JSON în PHP
Se întâmplă ca parametrii să fie tablouri. În acest caz, astfel de parametri ar trebui să fie împachetați în JSON. Să ne uităm la un exemplu. Să presupunem că avem următorul API, care așteaptă un tablou în format JSON și returnează suma elementelor acestui tablou:
<?php
echo array_sum(json_decode($_POST['json'], true));
?>
Să facem o cerere către acest API:
<?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);
?>
Creați un API care va accepta ca parametru un tablou de date, și va returna un tablou de evenimente istorice care au avut loc în datele transmise.