Микросервис wishlist
Микросервис wishlist служит для управления списком избранных товаров пользователя на сайте интернет-магазина. С его помощью можно просматривать, добавлять, редактировать и удалять товары из списка избранного.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса участвует сущность Wish, которая содержит данные об избранном покупателя: id избранного, id покупателя и артикул варианта товара, который был добавлен в избранное.
Аутентификация
Для работы с микросервисом аутентификация не требуется.
Service context path
/api/wishlist/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm",
"POSTGRES_DATABASE": "wishlist",
"POSTGRES_MIGRATION_USER": "wishlist_migration",
"POSTGRES_PORT": "5432",
"POSTGRES_USER": "wishlist_user"
}
}
// пример взят с тестового стенда
{
"env": {
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel",
"POSTGRES_HOST": "хост_бд,
"POSTGRES_MIGRATION_PASSWORD": "пароль",
"POSTGRES_PASSWORD": "пароль_бд"
}
}
Методы микросервиса
- Добавление товара в избранное - POST запрос, /v1/wishes
Отсутствуют.
{
"customerId": "227485734292973074",
"articleId": "1021531DC"
}
{
"id": "d664586a-f173-4407-b106-2eddef5bb14e",
"customerId": "227485734292973074",
"articleId": "1021531DC"
}
- 200 - операция выполнена успешно, товар добавлен в избранное
- 400 - ошибка, не удалось добавить товар в избранное
- Получение страницы избранного - POST запрос, /v1/wishes/page
Отсутствуют.
{
"sort": [
{
"sortBy": "id",
"direction": "ASC"
}
],
"page": 0,
"size": 10,
"filter": {
"customerId": "227485734292973074"
}
}
{
"content": [
{
"id": "29aa7aed-2b49-497c-bae0-b3a75418ffac",
"customerId": "227485734292973074",
"articleId": "1021612DC"
},
{
"id": "4e119fc1-7e51-4360-96f0-3d24933e952b",
"customerId": "227485734292973074",
"articleId": "1021531DC"
},
{
"id": "5d7e2931-1257-4788-afc4-15bbcf5d5c61",
"customerId": "227485734292973074",
"articleId": "1021617DC"
}
],
"pageable": {
"sort": {
"unsorted": false,
"sorted": true,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"paged": true,
"unpaged": false
},
"totalPages": 1,
"totalElements": 3,
"last": true,
"first": true,
"numberOfElements": 3,
"sort": {
"unsorted": false,
"sorted": true,
"empty": false
},
"size": 10,
"number": 0,
"empty": false
}
200 - операция выполнена успешно, получена страница избранного
- Получение списка избранного - POST запрос, /v1/wishes/list
Отсутствуют.
{
"customerId": "227485734292973074"
}
[
{
"id": "29aa7aed-2b49-497c-bae0-b3a75418ffac",
"customerId": "227485734292973074",
"articleId": "1021612DC"
},
{
"id": "5d7e2931-1257-4788-afc4-15bbcf5d5c61",
"customerId": "227485734292973074",
"articleId": "1021617DC"
},
{
"id": "4e119fc1-7e51-4360-96f0-3d24933e952b",
"customerId": "227485734292973074",
"articleId": "1021531DC"
}
]
200 - операция выполнена успешно, получен список избранного
- Получение избранного по ID - GET запрос, /v1/wishes/{id}
id - path-параметр, обязательный: уникальный идентификатор избранного
{
"id": "29aa7aed-2b49-497c-bae0-b3a75418ffac",
"customerId": "227485734292973074",
"articleId": "1021612DC"
}
- 200 - операция выполнена успешно, получены данные запрашиваемого избранного
- 404 - ошибка, избранное с таким ID не найдено
- Удаление товара из избранного - DELETE запрос, /v1/wishes/{id}
id - path-параметр, обязательный: уникальный идентификатор
избранного
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - операция выполнена успешно, избранное удалено
- 404 - ошибка, избранное с таким ID не найдено
- Обновление избранного - PATCH запрос, /v1/wishes/{id}
id - path-параметр, обязательный: уникальный идентификатор
избранного
{
"customerId":
"227485734292973074",
"articleId": "1019728DC"
}
{
"id": "29aa7aed-2b49-497c-bae0-b3a75418ffac",
"customerId": "227485734292973074",
"articleId": "1019728DC"
}
- 200 - операция выполнена успешно, избранное обновлено
- 400 - ошибка, не удалось обновить избранное