В Dreamfactory Rest Api Backend Server я написал этот PHP-скрипт, который запускается с помощью запроса POST в рабочем процессе до процесса.
Этот скрипт заменяет полученную полезную нагрузку на полезную нагрузку по умолчанию, например:
{«resource»: [{«Time»: «2018-12-21T07: 49: 23», «Gas»: «111111», «Pressure»: «1111», «Temperature»: «11111»}]}
что он будет вставлен в таблицу базы данных mysql «T»:
<?php
$options = [];
$options['headers'] = [];
$options['headers']['Content-Type'] = 'application/json';
$options['parameters'] = [];
$options['parameters']['api_key'] = 'MY_API_KEY';
$api = $platform['api'];
$post = $api->post;
// json string
$json = '{"resource": [{"Time":"2018-12-21T07:49:23","Gas":"111111","Pressure":"1111","Temperature":"11111"}]}';
// converts json to php array
$newpayload = json_decode($json, true);
// makes POST call
$result = $post("sensor_sql/_table/t", $newpayload, $options);
var_dump($result);
?>
Но когда я отправляю почтовый запрос на свой сервер Api Rest DreamFory с помощью программы «Fiddler4», мои остальные API-интерфейсы вставляют в базу данных MySQL много строк с полезной нагрузкой, подобной этой: {«Time»: «2018-12-21T07: 49: 23» , «Газ»: «111111», «Давление»: «1111», «Температура»: «11111»}]} и не только один, как и должно быть.
Кажется, что скрипт запускается много раз, а не только один, когда он вызывается во время предварительного процесса.
Что-то отсутствует в моем сценарии? Почему скрипт вставляет много строк в базу данных mysql, а не только одну?
Задача ещё не решена.
Других решений пока нет …