Swagger — это фрэймворк для описания, документирования и визуализации REST API.
Для того, чтобы получить доступ к документации, необходимо перейти по ссылке вида https://{{ .Domen }}/swagger/index.html
Для того, чтобы сгенерировать документацию локально, необходимо выполнить команду
make generate_swagger_docs
Для запуска потребуется установленные go и docker-compose. Запуск приложения производится коммандой
make up
Применить миграции
make migrate
Пересоздать базу данных
make recreate_db
Для того, чтобы протестировать 3-е заданием, необходимо запустить тестовый файл в корневом каталоге
go test
- Не использовать глобальные переменные.
- Считывание конфига для БД и токенов авторизации из файла json или yaml (на свой вкус), без использования внешних библиотек для конфигурации.
- Желательно использовать SQL запросы, а не ORM (sqlx и прочие мапперы данных в структуру ORM не считаются).
- Тесты приветствуются, но не обязательны (если будете писать, всё покрывать тестами не нужно).
- Нам важно узнать ваши реальные знания, а не знания фреймворков и 3party библиотек.
- Все задания можно выполнить в рамках одного приложения.
API TODO для добавления списка дел, токены используются, чтобы todo list был многопользовательским, списки дел хранить в БД. Токены разрешить передавать как в заголовке Authorization, так и через url ?token=
- GET /todos - получить список TODO
- POST /todos - добавить запись в список
- GET /todos/1 - получить запись с ID 1
- PUT /todos/1 - отредактироовать запись с ID 1
- DELETE /todos/1 - удалить запись с ID 1
API для проверки прокси адреса (токены использовать не нужно)
POST /check - проверка прокси
в body отправляется список ip:port, на выходе нужно получить json ответ, какая работает, а какая нет. обязательна проверка на валидный IP и порт, хост неймы не принимать.
Парсинг данных с апи https://httpbin.org/get в структуру и вывод структуры в консоль.