Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Документация к Task Manager API

Этот документ содержит подробное описание Task Manager API, которое позволяет управлять задачами. API поддерживает операции создания, получения, обновления и удаления задач, а также проверку работоспособности сервера.


Базовый URL

  • Local development: https://localhost:8080/api/v1/
  • SwaggerHub Mocking: https://virtserver.swaggerhub.com/DamirRahmatullin/taskTracker/1.0.0

Конечные точки (Endpoints)

1. Проверка работоспособности сервера

GET /health

  • Теги: health
  • Описание: Проверяет, работает ли сервер.
  • Ответы:
    • 200 OK: Сервер доступен.

2. Управление задачами

GET /tasks

  • Теги: tasks
  • Описание: Получение списка всех задач.

POST /tasks

  • Теги: tasks
  • Описание: Создание новой задачи.
  • Тело запроса:
    • Content-Type: application/json
    • Схема: TaskCreateRequest
      {
        "text": "Завершить проектную документацию.",
        "priority": "medium",
        "status": "pending",
        "dueDate": "2023-12-31"
      }

GET /tasks/{task_id}

  • Теги: task
  • Описание: Получение задачи по ID.
  • Параметры:
    • task_id (path): Уникальный идентификатор задачи.

PUT /tasks/{task_id}

  • Теги: task
  • Описание: Обновление существующей задачи.
  • Параметры:
    • task_id (path): Уникальный идентификатор задачи.
  • Тело запроса:
    • Content-Type: application/json
    • Схема: TaskUpdateRequest
      {
        "text": "Обновленная проектная документация.",
        "priority": "high",
        "status": "completed",
        "dueDate": "2024-01-15"
      }

DELETE /tasks/{task_id}

  • Теги: task
  • Описание: Удаление задачи по ID.
  • Параметры:
    • task_id (path): Уникальный идентификатор задачи.

Модели данных

1. Task

Представляет задачу в системе.

  • Свойства:
    • id (integer, опционально): Уникальный идентификатор задачи.
      • Пример: 12345
    • text (string, обязательно): Описание или содержание задачи.
      • Пример: "Завершить проектную документацию."
    • priority (string, обязательно): Уровень приоритета задачи.
      • Возможные значения: ["low", "medium", "high"]
      • Пример: "medium"
    • status (string, обязательно): Текущий статус задачи.
      • Возможные значения: ["pending", "in_progress", "completed"]
      • Пример: "pending"
    • dueDate (string, обязательно): Срок выполнения задачи (формат ISO 8601).
      • Пример: "2023-12-31"

2. TaskCreateRequest

Представляет данные, необходимые для создания новой задачи.

  • Свойства:
    • Те же, что и в модели Task, но без поля id.

3. TaskUpdateRequest

Представляет данные, необходимые для обновления существующей задачи.

  • Свойства:
    • Те же, что и в модели Task, но все поля являются опциональными.

Обработка ошибок

API использует стандартные HTTP-коды состояния для указания успеха или неудачи запросов:

Код Описание
200 Успешная операция
201 Ресурс успешно создан
204 Ресурс успешно удален (без содержимого)
400 Неверные или неполные входные данные
404 Ресурс не найден

Примеры использования

1. Создание новой задачи

curl -X POST https://localhost:8080/api/v1/tasks \
     -H "Content-Type: application/json" \
     -d '{
           "text": "Подготовить презентационные слайды.",
           "priority": "high",
           "status": "pending",
           "dueDate": "2023-11-15"
         }'

2. Получение всех задач

curl -X GET https://localhost:8080/api/v1/tasks

3. Обновление задачи

curl -X PUT https://localhost:8080/api/v1/tasks/1 \
     -H "Content-Type: application/json" \
     -d '{
           "status": "completed"
         }'

4. Удаление задачи

curl -X DELETE https://localhost:8080/api/v1/tasks/1

About

simple web task tracker with no internet and internet work, using synchronize with server if connection is Available.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages