Это старая версия документа!
В данном документе приведено описание применения программы «Программный интерфейс взаимодействия системы отображения метеорологических данных измерительной информации», предназначенной для передачи системе отображения метеорологической информации из базы данных.
Программный интерфейс входит в состав системы отображения метеорологических данных МФ МГТУ им. Н.Э. Баумана. Основные функции программного интерфейса состоят в получении, передачи и обработке метеорологической информации в формате JSON.
В состав технических средств должен входить персональный компьютер (ПЭВМ), выполняющий роль сервера, включающий в себя:
Для функционирования программного интерфейса необходимо инсталлировать резидентную систему управления базами данных класса NoSQL Redis версии 6.0.1. Также необходимо установить программную платформу Node.js версии 12.16.3, а также ряд npm-пакетов и модулей:
Все вышеперечисленные модули устанавливаются с помощью команды:
$ npm install "имя пакета"
Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше.
Входной информацией для программного интерфейса будет являться GET-запрос по протоколу HTTP к интерфейсу REST или GraphQL. Список всех возможных запросов к программному интерфейсу REST:
Запрос | Получаемые данные |
---|---|
calibr/last5min/:uname/:serial | Откалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
calibr/day/:date/:uname/:serial | Откалиброванные данные за день. Обязательно нужно указать дату в формате «год-месяц-день». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
calibr/lastweek/:uname/:serial | Откалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
calibr/log/:fdate/:sdate/:uname/:serial | Откалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
calibr/last_measurement/:uname/:serial | Откалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
calibr/lastmin/:uname/:serial | Откалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/last5min/:uname/:serial | Неоткалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/lastweek/:uname/:serial | Неоткалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/log/:fdate/:sdate/:uname/:serial | Неоткалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/last_measurement/:uname/:serial | Неоткалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/lastmin/:uname/:serial | Неоткалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/day/:date/:uname/:serial | Неоткалиброванные данные за день. Обязательно нужно указать дату в формате «год-месяц-день». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
Для отправки запроса к программному интерфейсу REST необходимо обратиться к следующему URL:
http://название_домена:3000/запрос
Список всех возможных запросов к программному интерфейсу GraphQL:
Запрос | Получаемые данные |
---|---|
{calibr(time:«last5min»,uname:« », serial: « »)} | Откалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
{calibr(time:«lastweek»,uname:« », serial: « »)} | Откалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
{calibr(time:«log»,fdate:« »,sdate: « », uname:« », serial: « »)} | Откалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
{calibr(time:«last_measurement»,uname:« », serial: « »)} | Откалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
{calibr(time:«lastmin»,uname:« », serial: « »)} | Откалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/last5min/:uname:serial | Неоткалиброванные данные за последние 5 минут. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/lastweek/:uname:serial | Неоткалиброванные данные за последнюю неделю. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/log/:fdate/:sdate/:uname:serial | Неоткалиброванные данные за любой временной интервал. Обязательно надо указать начальную и конечную даты в формате «год-месяц-день часы-минуты-секунды». Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/last_measurement/:uname:serial | Неоткалиброванные последние измерения. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |
not_calibr/lastmin/:uname:serial | Неоткалиброванные данные за последнюю минуту. Для получения данных с конкретного прибора укажите uname и serial (название и серийный номер) |