TL;DR
To run the service:
- set appropriate settings to config file
- create empty database
urlzip - make start
task: Необходимо реализовать HTTP-сервис для создания сокращенных ссылок Сервис должен иметь следующее API:
- POST /n - создание новой сокращенной ссылки. Должен возвращать полную сокращенную ссылку, вместе со схемой и доменом(эти параметры должны определяться динамически, по запросу) При создании ссылки необходимо проверять, создан ли уже short_url с данным назначением и в случае нахождения использовать его
- GET /<short_url_path> - должен отвечать перманентным редиректом с сохраненной ссылкой, при невалидности short_url_path должен отвечать ошибкой 404 Not Found Перед запросом в СУБД необходимо удостовериться, что short_url_path выпущен сервисом. Проверка не обязана быть криптографически стойкой, но ее должно быть достаточно для избежания лишних запросов к СУБД при брут форсе short_url_path
В качестве СУБД должен использоваться Postgres, сервис должен уметь сам развертывать необходимые ему сущности в СУБД short_url_path должен быть регистронезависимым, состоять только из латинских букв и цифр нижнего регистра и быть настолько коротким, насколько это вообще возможно