Приложение, выполненное для https://7gis.ru/
Необходимо реализовать поддержку CRUD-операций с прошивками в любом удобном виде. Прошивка однозначно определяется 2 параметрами (2-х байтовые числа): версия загрузчика и версия прошивки.
Так же у прошивки есть файл, содержащий саму прошивку (расширение .bin
, не более 1МБ), ее статус:
DEPRECATED
- отмененная прошивкаCASUAL
- обычная прошивкаSTABLE
- стабильная прошивка
И путь к файлу на сервере, в котором лежит прошивка. Информация о прошивке приходит в виде JSON, пример:
{
"BootLoaderVersion": 8322,
"FwVersion": 21,
"Status": "CASUAL",
"PathToFile": "/data/firmwares-storage/8322/21.bin"
}
Адрес сервера: http://kub1.7gis.ru:30003/
Типы запросов от клиента:
GET
(получение информации о прошивках):
2 параметра boot_version
и fw_version
:
- если оба равны
0
, то получение информации о всех прошивках - если только
fw_version
равно0
, то получение информации о всех прошивках для заданной версии загрузчика - если оба не равны
0
, то получение информации о выбранный версии прошивки
Ответы:
200
(Ок)422
(Некорректные данные)500
(Ошибка на сервере)
POST
(добавление прошивки):
Тело с form-data
:
BootVersion
- числоFwVersion
- числоStatus
- текст(варианты описаны выше)Data
- файл
Ответы:
200
(Добавлено)422
(Некорректная прошивка)500
(Ошибка на сервере)
PUT
(обновление прошивки):
Тело с form-data
:
BootVersion
- числоFwVersion
- числоStatus
- текст(варианты описаны выше)Data
- файл
Ответы:
202
(Будет обновлено)422
(Некорректная прошивка/прошивки не существует)500
(Ошибка на сервере)
DELETE
(удаление прошивки):
2 параметра boot_version
и fw_version
:
- оба не равны
0
Ответы:
202
(Удаление будет выполнено)422
(Прошивка не найдена)500
(Ошибка на сервере) В теле ответов будет описание ошибки