Вам дан адрес, по которому доступен API, позволяющий получать, добавлять и обновлять набор данных о виртуальных машинах.
Формат обмена данными - JSON
Задание:
- Создать веб-страницу, позволяющую получать данные о существующих виртуальных машинах, обновлять эти данные и добавлять новую виртуальную машину.
- Выбор инструментов остаётся на Ваше усмотрение.
- Использование JS/bootstrap будет плюсом.
Производит авторизацию пользователя. Все методы API могут быть использованы только после авторизации.
- Тип авторизации BASIC
- При успешной авторизации возвращает заголовок с кодом ответа 200, в теле содержится токен авторизации.
- В случае неуспешной авторизации возвращает заголовок с кодом 401.
Все дальнейшие запросы к API должны содержать полученный токен в заголовке x-auth
Возвращает данные обо всех виртуальных машинах
headers:
x-auth:token
- токен, полученные после авторизации
Название | Тип | Описание |
---|---|---|
Id | int | id виртуальной машины в БД |
Name | string | имя виртуальной машины |
Cpu | double | частота процессора в GHz |
Ram | int | объем оперативной памяти |
SSD | int | объем SSD диска |
SATA | string | объем SATA диска |
HTTP 1.1
GET /api/v1/vm/
Headers:
x-auth: token
HTTP/1.1 200 OK
[
{
"Id": 1,
"Name": "first VM",
"Cpu": 2.6,
"Ram": 64,
"SSD": 120,
"SATA": "1024"
},
{
"Id": 2,
"Name": "second VM",
"Cpu": 2,
"Ram": 32,
"SSD": 16,
"SATA": "256"
},
{
"Id": 3,
"Name": "third VM",
"Cpu": 3,
"Ram": 22,
"SSD": 2048,
"SATA": "10"
}
]
Возвращает данные об виртуальной машине с конктретным id
headers:
x-auth:token
- токен, полученные после авторизации
Название | Тип | Описание |
---|---|---|
Id | int | id виртуальной машины в БД |
Name | string | имя виртуальной машины |
Cpu | double | частота процессора в GHz |
Ram | int | объем оперативной памяти |
SSD | int | объем SSD диска |
SATA | string | объем SATA диска |
HTTP 1.1
GET /api/v1/vm/id/3
Headers:
x-auth: token
HTTP/1.1 200 OK
[
{
"Id": 3,
"Name": "third VM",
"Cpu": 3,
"Ram": 22,
"SSD": 2048,
"SATA": "10"
}
]
Принимает данные об виртуальной машине (или нескольких)
- В случае, если ID переданной ВМ существует, данные обновятся, в противном случае будет создана новая запись.
headers:
x-auth:token
- токен, полученные после авторизации
body:
Название | Тип | Описание |
---|---|---|
Id | int | id виртуальной машины в БД |
Name | string | имя виртуальной машины |
Cpu | double | частота процессора в GHz |
Ram | int | объем оперативной памяти |
SSD | int | объем SSD диска |
SATA | string | объем SATA диска |
HTTP 1.1
POST /api/v1/vm/
Headers:
x-auth: token
Body:
[
{
"Id": 3,
"Name": "third VM",
"Cpu": 3,
"Ram": 22,
"SSD": 2048,
"SATA": "10"
}
]
HTTP/1.1 202 Accepted
[
{
"Id": 3,
"Name": "third VM",
"Cpu": 3,
"Ram": 22,
"SSD": 2048,
"SATA": "10"
}
]