Создание, изменение и получение профилей. Получение сведений об ошибках приложения
| Описание | Технологии и версии |
|---|---|
| Версия JDK | 11 |
| Порт | 8010 |
| Система контроля версий | git |
| Spring Boot | MVC, Data (2.3.2.RELEASE) |
| База данных | PostgreSQL (42.2.19) |
| Миграция базы данных | FlyWay (5.2.4) |
| Документация REST web-API | Swagger (2.9.2) |
| Плагин компилятора | Lombok (1.18.20) |
| Сборщик проекта | Maven |
Для запуска проекта необходимо передать 4 переменные окружения:
DB_NAME- имя базы данныхDB_USER- имя пользователя для базы данныхDB_PASSWORD- пароль для базы данныхSECRET_TOKEN- токен - строка для доступа к методам контроллера
Запустить проект можно 2 способами:
- Клонировать с репозитория командой
git clone https://github.com/FormAToz/ProfileService.gitи запустить в среде разработки, настроив переменные окружения. - Запустить прилагаемый jar-файл (с заполненными значениями переменных окружения) командой
java -DDB_NAME=<имя_бд> -DDB_USER=<пользователь_бд> -DDB_PASSWORD=<пароль_бд> -DSECRET_TOKEN=<токен> -jar ProfileService-1.0.jar
Все запросы с префиксом /profiles и /error необходимо выполнять с заголовком авторизации "Bearer <secret_token>">. Все запросы с ошибочным токеном возвращают статус код - 401 (Unauthorized).
Доступ к REST API Swagger - 'GET http://localhost:8010'
Метод производит переадресацию на страницу отображения Swagger API: http://localhost:8010/swagger-ui.html
Метод сохраняет профиль в базу данных
Формат запроса:
{
"name": "User",
"email": "mail@mail.ru",
"age": 30
}Формат ответа:
В случае успеха возвращает id записи профиля (статус 200 ОК):
{
"idUser": 1
}В случае некорректного e-mail (статус 400 BAD_REQUEST):
{
"msg": "error message"
}В случае, если e-mail уже зарегестрирован (статус 403 FORBIDDEN):
{
"msg": "error message"
}Метод возвращает последний созданный профиль
Формат ответа:
(статус 200 ОК)
{
"id": 1,
"name": "User",
"email": "mail@mail.ru",
"age": 30,
"created": "2021-04-12T15:24:35"
}Метод возвращает список всех созданных профилей
Формат ответа:
(статус 200 ОК)
[
{
"id": 1,
"name": "User",
"email": "mail@mail.ru",
"age": 30,
"created": "2021-04-12T15:24:35"
},
{...}
]Метод возвращает профиль по id
Формат ответа:
(статус 200 ОК)
{
"id": 1,
"name": "User",
"email": "mail@mail.ru",
"age": 30,
"created": "2021-04-12T15:24:35"
}В случае, если запись не найдена (статус 404 NOT_FOUND):
{
"msg": "error message"
}Метод возвращает профиль по e-mail
Формат запроса:
{
"email": "mail@mail.ru"
}Формат ответа:
(статус 200 ОК)
{
"id": 1,
"name": "User",
"email": "mail@mail.ru",
"age": 30,
"created": "2021-04-12T15:24:35"
}В случае, если запись не найдена (статус 404 NOT_FOUND):
{
"msg": "error message"
}Метод возвращает последний созданный профиль
Формат ответа:
(статус 200 ОК)
{
"msg": "error message",
"created": "2021-04-12T15:24:35"
}Метод переадресовывает на страницу http://localhost:8010/exit-success,
выводит сообщение "Выход из приложения выполнен" и закрывает приложение.