API com parâmetros POST no formato JSON em PHP
Às vezes, os parâmetros representam arrays. Nesse caso, tais parâmetros devem ser empacotados em JSON. Vamos ver um exemplo. Suponha que temos a seguinte API, que espera um array no formato JSON e retorna a soma dos elementos desse array:
<?php
echo array_sum(json_decode($_POST['json'], true));
?>
Vamos fazer uma requisição para esta 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);
?>
Faça uma API que receberá como parâmetro um array de datas, e retornará um array de eventos históricos que aconteceram nas datas fornecidas.