Тестовое задание на стажировку в компанию Атон по программе ITTP - Задание
RESTful Web API сервис на .NET 9.0, реализующий API методы CRUD над сущностью Users. Доступ осуществляется через интерфейс Swagger. Сервис использует аутентификацию и авторизацию через JWT и роли. Данные сохраняются в PostgreSQL через Entity Framework Core
| Метод | Эндпоинт | Описание | Доступ |
|---|---|---|---|
POST |
/api/auth/register |
Создание нового пользователя | Admin |
POST |
/api/auth/login |
Аутентификация пользователя | - |
PUT |
/api/users/{login} |
Обновление данных пользователя | SelfOrAdmin |
PUT |
/api/users/{login}/login |
Изменение логина | SelfOrAdmin |
PUT |
/api/auth/{login}/password |
Изменение пароля | SelfOrAdmin |
GET |
/api/users/active |
Получение списка активных пользователей | Admin |
GET |
/api/users/{login} |
Получение информации о пользователе | SelfOrAdmin |
GET |
/api/users?olderThat=Age |
Получение пользователей старше возраста | Admin |
DELETE |
/api/users/{login}?soft=Bool |
Удаление пользователя (мягкое/жесткое) | Admin |
POST |
/api/users/{login}/restore |
Восстановление удаленного пользователя | Admin |
Использовалась валидация входных данных (логина, пароля, и т.д.). Дополнительно было добавлено возращение ошибки при невозможности выполнить действие
- .NET 9.0
- PostgreSQL 16
- Entity Framework Core
- JWT аутентификация и авторизация с ролями
- Swagger
- Docker
- Unit тесты с Moq и xUnit
docker-compose up --buildПосле успешного запуска сервиса, будет доступен интерфейс Swagger для тестирования API:
http://localhost:8080/swagger