API avec paramètres POST au format JSON en PHP
Il arrive que les paramètres soient des tableaux. Dans ce cas, ces paramètres doivent être emballés en JSON. Regardons un exemple. Supposons que nous ayons l'API suivante, attendant un tableau au format JSON et renvoyant la somme des éléments de ce tableau :
<?php
echo array_sum(json_decode($_POST['json'], true));
?>
Faisons une requête à cette 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);
?>
Créez une API qui acceptera en paramètre un tableau de dates, et renverra un tableau d'événements historiques survenus aux dates transmises.