Показать сообщение отдельно
Старый 23.02.2020, 11:05   #23
sinkevich
Новичок
 
Регистрация: Feb 2017
Сообщения: 13
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Shared memory - Web

Всем добрый день! Доработал немного проект!

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
Изображения
Тип файла: png Screenshot_2020-02-22_15-18-23.png (71.3 Кбайт, 87 просмотров)
Тип файла: png Screenshot_2020-02-22_15-19-36.png (73.4 Кбайт, 52 просмотров)
Тип файла: png Screenshot_2020-02-22_15-20-02.png (68.1 Кбайт, 47 просмотров)
Вложения
Тип файла: zip SMH4SHM_DIST.zip (7.63 Мбайт, 45 просмотров)

Последний раз редактировалось Arsie, 25.02.2020 в 21:23 Причина: Поправил пару багов)
sinkevich вне форума   Ответить с цитированием