Всем добрый день! Доработал немного проект!
1. Переписал работу с shmem без использования cGo. Спасибо
Gel, подсмотрел в его
проекте.
2. Изменения:
• появилось свойство "
GUID"
Код:
[
{
"Name": "bool_1",
"Value": "1",
"LastChange": "2020-02-18 04:57:02",
"Info": {
"GUID": "49916D355A88473C91A0256E73B56EDD",
"Hint": "",
"Direction": "out",
"Type": "bool"
}
},
{
"Name": "bool_0",
"Value": "0",
"LastChange": "2020-02-18 04:57:02",
"Info": {
"GUID": "32BFCF1EEB33456BA455BD35A7E64BA8",
"Hint": "",
"Direction": "out",
"Type": "bool"
}
},...
]
• Изменился адрес для запроса всех переменных типа «mem»
http://xxx.xxx.xxx.xxx:1324/vars
Появился API:
•
GET http://xxx.xxx.xxx.xxx:1324/vars вернет все переменные
◦
direction фильтр по полю «
Direction»
▪ тип: массив значений
▪ пример:
Код:
/vars?direction=in,out
/vars?direction=in
◦
type фильтр по полю «
Type»
▪ тип: массив значений
▪ пример:
Код:
/vars?type=bool
/vars?type=int,long
◦
valIn фильтр по полю «
Value»
▪ тип: массив значений
▪ описание: вернет переменные входящие в список
▪ пример:
Код:
/vars?valIn=23.5
/vars?valIn=1.34,43
◦
valNin фильтр по полю «
Value»
▪ тип: массив значений
▪ описание: вернет переменные не входящие в список
▪ пример:
Код:
/vars?valNin=23.5
/vars?valNin=1.34,43
◦
valGt,
valGte,
valLt,
valLte фильтр по полю «
Value»
▪ тип: значение
▪ описание: вернет переменные >, >=,<,<= значения соответственно
▪ пример:
Код:
/vars?valGt=23.5
/vars?valGt=1.34&valLte=51.8
◦
timeBef,
timeAft фильтр по полю «
LastChange»
▪ тип: значение
▪ описание: вернет переменные до и после значения соответственно
▪ пример:
Код:
/vars?timeAft="2020-02-18 04:51:02"&timeBef="2020-02-18 04:57:33"
•
GET http://xxx.xxx.xxx.xxx:1324/vars/:guid
◦ тип: массив значений
◦ вернет все переменные в с соответствующим
GUID
◦ пример
Код:
/vars/49916D355A88473C91A0256E73B56EDD
/vars/49916D355A88473C91A0256E73B56EDD,32BFCF1EEB33456BA455BD35A7E64BA8
◦ Все выше описанные параметры применимы к
/vars/:guid
▪ пример:
Код:
/vars/49916D355A88473C91A0256E73B56EDD,32BFCF1EEB33456BA455BD35A7E64BA8?valGt=23.5
Допускаются разумные комбинации параметров:
GET
Код:
http://xxx.xxx.xxx.xxx:1324/vars?timeAft="2020-02-17 04:57:02"&type=real,long&valGte=100&direction=out
•
PUT http://xxx.xxx.xxx.xxx:1324/vars/:guid
◦ тип: значение
◦ устанавливает значение соответствующей переменной c "direction=
in"
◦ пример:
Код:
curl -X PUT -H "Content-Type: application/json" -d '{"val":"56.3"}' http://xxx.xxx.xxx.xxx:1324/vars/6CF597064EBF41649800A9AE605752A2