Product Selector Backend — это RESTful веб-сервис для управления пользователями, продуктами и рецептами. Он предоставляет функции для создания, чтения, обновления и удаления данных о пользователях, продуктах и рецептах.
- CRUD операции для пользователей, продуктов и рецептов.
- Поддержка связи между продуктами и рецептами.
- Интерактивная документация API с помощью Swagger UI.
- Java 17 или выше
- Gradle 8.x или выше
git clone https://github.com/your-username/product-selector-backend.git
cd product-selector-backend
- Настройка базы данных: Убедитесь, что у вас запущен сервер базы данных. Измените параметры подключения в src/main/resources/application.properties.
- Сборка проекта:
./gradlew build
- Запуск приложения:
./gradlew bootRun
- Приложение будет доступно по адресу
http://localhost:8081
по умолчанию.
- URL:
/users
- Метод:
POST
- Тело запроса:
{
"name": "John Doe",
"surname": "Doe",
"email": "[email protected]",
"password": "securepassword",
"birthDate": "1990-01-01",
"registrationDate": "2024-01-01",
"accessLevel": "USER"
}
- URL:
/users
- Метод:
GET
- URL:
/users/{id}
- Метод:
GET
- URL:
/users/batch
- Метод:
GET
- Параметры:
ids
(список идентификаторов)
- URL:
/users
- Метод:
PUT
- Тело запроса:
{
"id": 1,
"name": "John Doe",
"surname": "Doe",
"email": "[email protected]",
"password": "newsecurepassword",
"birthDate": "1990-01-01",
"registrationDate": "2024-01-01",
"accessLevel": "USER"
}
- URL:
/users/{id}
- Метод:
DELETE
- URL:
/products
- Метод:
POST
- Тело запроса:
{
"name": "Apple",
"image": "http://example.com/apple.jpg",
"recipeIds": [1, 2]
}
- URL:
/products
- Метод:
GET
- URL:
/products/{id}
- Метод:
GET
-URL: /products/batch
- Метод:
GET
Параметры:ids
(список идентификаторов)
- URL:
/products/recipe/{id}
- Метод:
GET
- URL:
/products
- Метод:
PUT
- Тело запроса:
{
"id": 1,
"name": "Green Apple",
"image": "http://example.com/green-apple.jpg",
"recipeIds": [1, 3]
}
- URL:
/products/{id}
- Метод:
DELETE
- URL:
/recipes
- Метод:
POST
- Тело запроса:
{
"name": "Apple Pie",
"description": "A delicious apple pie recipe.",
"productIds": [1, 2]
}
- URL:
/recipes
- Метод:
GET
- URL:
/recipes/{id}
- Метод:
GET
- URL:
/recipes/batch
- Метод:
GET
- Параметры:
ids
(список идентификаторов)
- URL:
/recipes/product/{id}
- Метод:
GET
- URL:
/recipes
- Метод:
PUT
- Тело запроса:
{
"id": 1,
"name": "Updated Apple Pie",
"description": "An updated apple pie recipe.",
"productIds": [1, 3]
}
- URL:
/recipes/{id}
- Метод:
DELETE
Для запуска тестов используйте следующую команду:
./gradlew test