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 сервиса поддержки REST API запросов для работы со "списком задач на день".
Сервис будет предоставлять возможности для добавления, актуализации и удаления задач, а также для получения списка задач на различные периоды времени. Сервис будет предоставлять инструменты планирования задач - создание задач на будущую дату, просмотр задач на выбранный период.
Предметная область
Основные сущности
Задача - описание деятельности пользователя, запланированное к определенной дате. Состав полей:
название задачи (обязательно),
описание задачи (опционально),
дата задачи (обязательно).
Деловой регламент
Задача планируется на текущую либо грядущую дату.
Если не указано обратного, задача назначается на текущую дату.
Основные требования к системе
Формат передачи данных: JSON.
Методы REST API: GET, POST, DELETE.
Логирование: по уровням важности (DEBUG, WARN, INFO).
Аутентификация и авторизация: JWT от Single Sign-On (SSO) включенный в заголовки запросов cookie.
Операции над задачами
Добавление новой задачи
Метод: POST.
URL: /tasks.
Тело запроса: структура данных, представляющая задачу. Пример:
URL: /tasks?start_date={unix timestamp}&end_date={unix timestamp}.
Параметры start_date и end_date определяют начальную и конечную даты периода соответственно.
Тело ответа: список структур данных, представляющих задачу. Пример:
Сервис будет оснащен системой обработки ошибок, которая предусматривает возврат соответствующих HTTP статус-кодов вместе с информативными сообщениями об ошибках. Это поможет клиентам API легче понять причины возникновения проблем и быстрее найти пути их решения.
Ошибки клиента
В случае возникновения ошибок на стороне клиента (например, неверно составленного запроса), сервис будет возвращать соответствующий HTTP статус-код в диапазоне 400-499. В теле ответа будет передан JSON-объект, содержащий информацию о типе ошибки и подробное описание проблемы. Пример:
{
"message": "Неверный формат даты в параметре 'due_date'"
}
Все ошибки, возникшие в результате обработки запроса клиента сервиса, должны быть залогированы для последующего анализа с уровнем INFO.
Все успешные действия пользователя должны быть залогированы для последующего анализа и аудита с уровнем INFO.
Ошибки сервера
При возникновении ошибок на стороне сервера (например, проблемы с доступом к базе данных), сервис будет возвращать HTTP статус-код в диапазоне 500-599. В теле ответа будет передан JSON-объект, содержащий информацию о типе ошибки. Детали проблемы на стороне сервера клиентам передаваться не будут, чтобы избежать возможных угроз безопасности. Пример:
{
"message": "Произошла ошибка на стороне сервера. Пожалуйста, попробуйте еще раз позже."
}
Все ошибки, возникающие на стороне сервера, должны быть залогированы для последующего анализа и устранения проблем с уровнем WARN.
Производительность и безопасность
Требования к производительности:
Время ответа на запрос не должно превышать 200 мс.
Требования к безопасности:
Все данные, передаваемые между клиентом и сервером, должны быть зашифрованы.
Сервис должен быть защищен от основных векторов атак, таких как SQL-инъекции, XSS и CSRF атаки.
documentationImprovements or additions to documentation
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Общие положения
Данное техническое задание определяет требования к разработке HTTP сервиса поддержки REST API запросов для работы со "списком задач на день".
Сервис будет предоставлять возможности для добавления, актуализации и удаления задач, а также для получения списка задач на различные периоды времени. Сервис будет предоставлять инструменты планирования задач - создание задач на будущую дату, просмотр задач на выбранный период.
Предметная область
Основные сущности
Деловой регламент
Основные требования к системе
Формат передачи данных: JSON.
Методы REST API: GET, POST, DELETE.
Логирование: по уровням важности (DEBUG, WARN, INFO).
Аутентификация и авторизация: JWT от Single Sign-On (SSO) включенный в заголовки запросов cookie.
Операции над задачами
Добавление новой задачи
POST
./tasks
.Актуализация существующей задачи
PUT
./tasks/{task_id}
.Удаление задачи
DELETE
./tasks/{task_id}
.Получение списка задач
Получение списка задач на день
GET
./tasks?date={unix timestamp}
.Получение списка задач на неделю
GET
./tasks?date={unix timestamp}&week=true
.Параметр
week
указывает, что нужно получить задачи за всю неделю.Получение списка задач за период
GET
/tasks?start_date={unix timestamp}&end_date={unix timestamp}
.Параметры
start_date
иend_date
определяют начальную и конечную даты периода соответственно.Обработка ошибок и логирование
Сервис будет оснащен системой обработки ошибок, которая предусматривает возврат соответствующих HTTP статус-кодов вместе с информативными сообщениями об ошибках. Это поможет клиентам API легче понять причины возникновения проблем и быстрее найти пути их решения.
Ошибки клиента
В случае возникновения ошибок на стороне клиента (например, неверно составленного запроса), сервис будет возвращать соответствующий HTTP статус-код в диапазоне 400-499. В теле ответа будет передан JSON-объект, содержащий информацию о типе ошибки и подробное описание проблемы. Пример:
Все ошибки, возникшие в результате обработки запроса клиента сервиса, должны быть залогированы для последующего анализа с уровнем INFO.
Все успешные действия пользователя должны быть залогированы для последующего анализа и аудита с уровнем INFO.
Ошибки сервера
При возникновении ошибок на стороне сервера (например, проблемы с доступом к базе данных), сервис будет возвращать HTTP статус-код в диапазоне 500-599. В теле ответа будет передан JSON-объект, содержащий информацию о типе ошибки. Детали проблемы на стороне сервера клиентам передаваться не будут, чтобы избежать возможных угроз безопасности. Пример:
Все ошибки, возникающие на стороне сервера, должны быть залогированы для последующего анализа и устранения проблем с уровнем WARN.
Производительность и безопасность
Требования к производительности:
Требования к безопасности:
Beta Was this translation helpful? Give feedback.
All reactions