- Пагинация добавлена, но сделана бесконечной(до 2^32). Т.е. если в списке сейчас 3 сокращённых url, то на 1337 странице будут те самые 3 url (если их к примеру 27, то будет показывать последние 2, т.к. мной было решено, что на каждой странице будет по 5 сокращенных url)
- Сделана простая проверка на существование задаваемого пользователем url, поэтому все вводимые URL должны быть с припиской протокола (http:// или https://). Пример url, который примет программа: 'https://yandex.ru', а 'yandex.ru' - не примет.
- Установите проект на локальную машину с помощью команды
git clone https://github.com/petrolax/shorten-api
- Импортируйте файлы shorten-api.postman_environment.json и shorten-api.postman_collection.json в postman и выберете в правом верхнем углу окружение под названием shorten-api
- Запустите сервер с помощью команды
go run main.go
- Тестируйте с помощью описанного API в Postman (в окружение shorten-api можно менять значения существующих переменных)
- Можно запустить автотесты (только при работающем сервере)
go test -v
- Добавить полноценную БД (у которой можно использовать skip и limit, для упрощения реализации пагинации:D);
- Сделать более сложную проверку задаваемого url и добавлять протокол к строке url, если его нет. Сложную проверку можно реализовать с помощью регулярных выражений, например;
- Расширить автотесты;
Тестировал работу c API в браузере FireFox на разных ОС (debian и windows), и столкнулся с ошибкой 404 на windows при работе с localhost (сам сервер не реагирует на данное событие и вообще не логирует его). Но в браузере Microsoft Edge и в Postman всё работает. На Debian с подобными ошибками не сталкивался.