Этот сервер предоставляет API для работы с данными о питомцах, используя etcd в качестве хранилища данных. API поддерживает операции создания, чтения, обновления и удаления (CRUD), а также предоставляет возможность наблюдения за изменениями данных в реальном времени через WebSocket.
Запрос:
GET http://localhost:9999/get?id=<id питомца>
Пример:
GET http://localhost:9999/get?id=pet-1
Ответ:
{
"name": "Барсик",
"age": 3,
"id": "pet-1"
}Запрос:
POST http://localhost:9999/put
Content-Type: application/json
{
"name": "Мурзик",
"age": 5,
"id": "pet-2"
}
Ответ:
{
"name": "Мурзик",
"age": 5,
"id": "pet-2"
}Запрос:
DELETE http://localhost:9999/delete?id=<id питомца>
Пример:
DELETE http://localhost:9999/delete?id=pet-2
Ответ:
ok
Для наблюдения за изменениями данных в реальном времени используется WebSocket соединение.
URL для подключения:
ws://localhost:9999/watch
Важно отметить, что наблюдатель (watcher) настроен на отслеживание всех ключей с префиксом "pet-". Это означает, что только изменения ключей, начинающихся с "pet-", будут отправляться на веб-страницу через WebSocket соединение.
POST http://localhost:9999/put
Content-Type: application/json
{
"name": "Шарик",
"age": 2,
"id": "pet-1"
}
Это изменение будет отправлено через WebSocket на веб-страницу.
POST http://localhost:9999/put
Content-Type: application/json
{
"name": "Мурка",
"age": 4,
"id": "cat-1"
}
Это изменение НЕ будет отправлено через WebSocket на веб-страницу, так как id не начинается с "pet-".
GET http://localhost:9999/get?id=pet-1
DELETE http://localhost:9999/delete?id=pet-1
Этот API предоставляет полный набор операций CRUD для работы с данными о питомцах, а также возможность наблюдения за изменениями в реальном времени. При использовании API помните о префиксе "pet-" для id, если вы хотите, чтобы изменения отображались на веб-странице через WebSocket.
Обратите внимание на формат идентификаторов: для отслеживания изменений через WebSocket они должны начинаться с "pet-", за которым следует уникальный идентификатор. Например: "pet-1", "pet-3" и т.д. Идентификаторы без префикса "pet-" также допустимы, но изменения по ним не будут отслеживаться через WebSocket.
