You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Система использует следующие HTTP коды состояния для обработки запросов:
Код
Описание
200
Успешный запрос (GET, HEAD, DELETE, OPTIONS)
201
Успешное создание или обновление ресурса (POST)
400
Неверный формат JSON или отсутствуют обязательные поля, неверный формат времени, id не число или меньше 0
404
Задача не найдена или неверный путь
405
Метод не разрешен для ресурса
406
Пересечение временных интервалов с существующими задачами
500
Внутренняя ошибка сервера
Задачи (Tasks)
Метод
Путь
Действие
Коды ответа
HEAD
/tasks или /tasks/{id}
Получить заголовки
200, 404
GET
/tasks
Получить все задачи
200
GET
/tasks/{id}
Получить задачу по ID
200, 404
POST
/tasks
Создать новую задачу
201, 400, 406
DELETE
/tasks
Удалить все задачи
200
DELETE
/tasks/{id}
Удалить задачу по ID
200, 404
OPTIONS
/tasks или /tasks/{id}
Получить разрешенные методы
200
Формат JSON для задачи
{
"taskId": 0, // 0 - для создания, >0 - для обновления (обязательное)"title": "string", // обязательное поле"description": "string", // обязательное поле"status": "NEW|IN_PROGRESS|DONE", // обязательное поле"duration": 10, // продолжительность в минутах (опционально)"startTime": "1970-01-01T00:00:00.000"// дата и время ISO (опционально)
}
Эпики (Epics)
Метод
Путь
Действие
Коды ответа
HEAD
любой путь
Получить заголовки
200, 404
GET
/epics
Получить все эпики
200
GET
/epics/{id}
Получить эпик по ID
200, 404
GET
/epics/{id}/subtasks
Получить все подзадачи эпика
200, 404
POST
/epics
Создать новый эпик
201, 400, 406
DELETE
/epics
Удалить все эпики
200
DELETE
/epics/{id}
Удалить эпик по ID
200, 404
DELETE
/epics/{id}/subtasks
Удалить все подзадачи эпика
200, 404
OPTIONS
любой путь
Получить разрешенные методы
200
Формат JSON для эпика
{
"taskId": 0, //0 - для создания, >0 - для обновления (обязательное)"title": "string", // обязательное поле"description": "string", // обязательное поле"status": "NEW|IN_PROGRESS|DONE", // только для чтения"subtasks": [1, 2, 3], // только для чтения"duration": 10, // только для чтения"startTime": "1970-01-01T00:00:00.000"// только для чтения
}
Подзадачи (Subtasks)
Метод
Путь
Действие
Коды ответа
HEAD
/subtasks или /subtasks/{id}
Получить заголовки
200, 404
GET
/subtasks
Получить все подзадачи
200
GET
/subtasks/{id}
Получить подзадачу по ID
200, 404
POST
/subtasks
Создать новую подзадачу
201, 400, 406
DELETE
/subtasks
Удалить все подзадачи
200
DELETE
/subtasks/{id}
Удалить подзадачу по ID
200, 404
Формат JSON для подзадачи
{
"taskId": 0, // 0 - для создания, >0 - для обновления (обязательное)"title": "string", // обязательное поле"description": "string", // обязательное поле"status": "NEW|IN_PROGRESS|DONE", // обязательное поле"epicId": 123, // обязательное поле - ID родительского эпика"duration": 10, // продолжительность в минутах (опционально)"startTime": "1970-01-01T00:00:00.000"// дата и время ISO (опционально)
}
История просмотров (History)
Метод
Путь
Действие
Коды ответа
HEAD
/history
Получить заголовки
200
GET
/history
Получить историю просмотров
200
OPTIONS
/history
Получить разрешенные методы
200
Список приоритетов (Prioritized)
Метод
Путь
Действие
Коды ответа
HEAD
/prioritized
Получить заголовки
200
GET
/prioritized
Получить отсортированный список задач
200
OPTIONS
/prioritized
Получить разрешенные методы
200
Тестирование
Проект включает модульные тесты с использованием JUnit 5 для проверки функциональности менеджера задач и HTTP-сервера.