Test task to the job
Тестовое задание Написать CMD(Command line) серверное приложение, которое возвращает данные о пользователях через GET запрос. Сервер должен возвращать данные при обращении по двум адресам /users /users/{id}
/users - возвращает короткий список всех пользователей. Обьект должен состоять из поля id и user_name
/users/{id} - возвращает детализированную информацию о пользователе либо ошибку в случае отсутствия пользователя с указанным id
Хранилище данных реализовано в двух видах: InMemory и Database
InMemory - Массив или Map, который инициализируется и запонляется при запуске приложения. Для удобства, набор данных предоставлен в файле users.json. При использовании файла, выполнить считывание и десериализацию. Database - SQL база данных.
Требования
- Возможность выбора типа хранилища при старте приложение(либо через cmd args, либо через файл конфигурации)
- Возможность указания порта, который сервер будет прослушивать(либо через cmd args, либо через файл конфигурации)
- Логика поиска пользователя по id покрыта тестами(Опционально)
Фичи
Использовалась БД sqlite3
Для чтения конфигурации Viper, для логгирования logrus