Ко всем статьям

Гайд по Todos REST API

Подробный гайд по Todos REST API: создание задач, строгая схема данных, поиск, FIFO и query-параметры.

5 мин чтения

Todos REST API — это простое REST API для создания, получения, изменения и удаления задач через готовую и предсказуемую структуру данных.

Его удобно использовать для первых todo-приложений, учебных проектов, тестовых заданий и практики с интерфейсами, где данные должны соответствовать фиксированной схеме.

API хорошо подходит для случаев, когда хочется потренироваться работать не с произвольным JSON, а с понятной структурой задачи: названием, статусом и описанием.

Формат каждого ответа соответствует формату JSend.

Возможности и лимиты#

Все данные в Todos REST API привязаны к вашему аккаунту, поэтому заголовок Authorization обязателен для каждого запроса.

API поддерживает до 30 задач одновременно.

Лимит использования — 100 запросов в минуту.

Также действуют ограничения по длине полей:

  • title — до 190 символов
  • desc — до 1000 символов

Строгая схема данных#

Здесь нельзя передавать произвольный JSON-объект.

Каждая задача должна соответствовать фиксированной структуре:

  • title — название задачи
  • status — статус задачи
  • desc — описание задачи (необязательное поле)

Доступные значения поля status:

  • TODO
  • IN_PROGRESS
  • DONE
  • ARCHIVED

Именно эта строгая схема делает API удобным для типичных CRUD-интерфейсов: списков задач, kanban-досок, фильтрации по статусу и форм с валидацией.

Как работает FIFO#

Todos REST API работает по принципу FIFO.

Если вы добавите новую задачу после достижения лимита в 30 элементов, самая старая задача будет удалена автоматически, а новая сохранится вместо неё.

Это позволяет не управлять лимитом вручную и быстрее тестировать интерфейсы без дополнительной очистки данных.

Создание первой задачи#

Для создания задачи нужно отправить POST - запрос на:

Пример запроса:

Пример ответа:

Где:

  • id — уникальный идентификатор задачи
  • title — название задачи
  • status — текущий статус
  • desc — описание задачи
  • createdAt — время создания
  • updatedAt — время последнего обновления

Получение одной задачи#

Если вам нужна одна конкретная задача, используйте её id:

Пример запроса:

Пример ответа:

Получение списка задач#

Чтобы получить все доступные задачи, отправьте GET - запрос на:

Пример запроса:

Пример ответа:

Информацию о rate limits можно посмотреть в response headers.

Пример заголовков:

Query-параметры#

Todos REST API поддерживает query-параметры для работы со списком задач.

Они полезны для интерфейсов со списками, пагинацией, поиском и сортировкой.

Доступные параметры:

  • page — номер страницы
  • limit — количество задач в ответе
  • sort — сортировка по id задачи. Доступные значения: ASC и DESC
  • search — поиск по полям title и desc

Пример запроса:

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

Для обновления задачи используется PATCH - запрос:

В отличие от создания, при обновлении можно передавать только те поля, которые вы хотите изменить.

Пример запроса:

Удаление задачи#

Для удаления задачи используется DELETE - запрос:

Пример запроса:

При успешном удалении API возвращает статус 204 No Content.

Playground#

У Todos REST API есть встроенный Playground, где можно быстро создавать, читать, обновлять и удалять задачи прямо из браузера.

Это удобно для тестирования валидации, проверки поиска и отладки CRUD-сценариев без отдельного клиента.

Перейти на страницу Todos REST API