Я пытаюсь создать веб-службу, которая принимает несколько массивов (типа double) и возвращает среднее значение каждого из этих массивов.Работа с большим количеством данных с помощью веб-службы REST
Для начала я написал скрипт, который извлекает массив с помощью метода HTTP GET
и вычисляет ее среднее, возвращая его в ответ в формате JSON:
<?php
header("Content-Type:application/json");
if(!empty($_GET['array'])) {
//calculate mean of each array and send results
$array = $_GET['array'];
$mean = array_sum($array)/count($array);
respond(200,"OK",$mean);
} else {
//invalid request
respond(400,"Invalid Request",NULL);
}
function respond($status,$message,$data) {
header("HTTP/1.1 $status $message");
$response['status']=$status;
$response['message']=$message;
$response['data']=$data;
$json_response=json_encode($response);
echo $json_response;
}
?>
Однако я очень быстро понял, что с большим массивом (скажем, 15000 значений) моя строка запроса, используемая для передачи значений, станет настолько большой, чтобы быть непрактичной, если она даже работает (я прочитал, что многие системы помещают ограничение в 2000 символов по длине URL). Итак, я ищу другой способ передачи данных на службу, которые не будут ограничены таким образом. Массивы будут генерироваться клиентской программой. Я использую последний стек XAMPP для сервера.