Веб-сервис написан с использованием Django Rest Framework. В качестве базы данных использовалась sqlite3.
Приложение обёрнуто в Docker: готово к запуску на dev сервере.
Архитектура программы повторяет классическую архитектуру Django приложения:
- Api реализация функций 2 и 3 представлена в
test_endpoint/function_handler/views.py - Реализация функции 2 представлена в
test_endpoint/function_handler/services/handlers - Файлы
Dockerfileиdocker-compose.ymlв корневом каталоге.
Для запуска function-2 подать POST запрос на адрес .../function_2/, содержащий json представление объектов А и В:
[
{"value": 2, "color": "red"},
{"function": "sum", "value": 3}
]
Для запуска function-3 подать пустой POST запрос на адрес .../function_3/id_a/id_b/, где id_a и id_b - id объектов А и В соответственно.
Для удобного добавления объектов А и В в базу данных подать POST запрос, содержащий JSON-представление объекта А иил В на адрес .../function_3/id_a/id_b/. Например:
{"value": 2, "color": "red"}
Если переданный JSON будет соответствовать объекту А или В, то объект будет добавлен.