API con parametri POST in formato JSON in PHP
A volte capita che i parametri siano array. In questo caso, tali parametri dovrebbero essere impacchettati in JSON. Vediamo con un esempio. Supponiamo di avere la seguente API, che si aspetta un array in formato JSON e restituisce la somma degli elementi di questo array:
<?php
echo array_sum(json_decode($_POST['json'], true));
?>
Facciamo una richiesta a questa 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 un'API che accetti come parametro un array di date e restituisca un array di eventi storici accaduti nelle date trasmesse.