ShareIt — учебный сервис для шеринга вещей.
- CRUD пользователей
- CRUD вещей
- Поиск доступных вещей по тексту
Слои приложения:
- Controller: REST API
- Service: бизнес-логика
- Repository: слой хранения ( in-memory реализации)
Обработка ошибок централизована через @RestControllerAdvice.
Ниже перечислены основные endpoints текущей версии.
| Метод | Endpoint | Описание |
|---|---|---|
POST |
/users |
Создать пользователя |
PATCH |
/users/{userId} |
Обновить пользователя (частично) |
GET |
/users/{userId} |
Получить пользователя по id |
GET |
/users |
Получить список пользователей |
DELETE |
/users/{userId} |
Удалить пользователя |
Для методов, работающих от имени пользователя, используется заголовок:
X-Sharer-User-Id: <userId>
| Метод | Endpoint | Описание |
|---|---|---|
POST |
/items |
Создать вещь |
PATCH |
/items/{itemId} |
Обновить вещь (только владелец) |
GET |
/items/{itemId} |
Получить вещь по id |
GET |
/items |
Получить вещи владельца |
GET |
/items/search?text=... |
Поиск доступных вещей |
- Java 21
- Spring Boot
- Maven
- Lombok
- Jakarta Validation
- JUnit 5, Spring Boot Test, MockMvc
- JDK 21
- Maven 3.9+
mvn testmvn spring-boot:runmvn checkstyle:check