-
Нужно реализовывать Grpc-сервис со следующими методами:
- Создать товар
- Получить список товаров с фильтрами (Дата создания, Вид товара, Склад) и пагинацией
- Получить товар по Id
- Обновить цену товара
-
Реализовать Interceptor для логирования Request и Response;
-
Реализовать Interceptor для обработки ошибок;
-
Реализовать валидацию входящих запросов с помощью библиотеки FluentValidation
-
При разработке не использовать никаких внешних источников данных (БД, редис и т.п.), данные должны храниться в оперативной памяти.
-
Реализовать одновременно взаимодействие с приложением через http и grpc
-
Методы создания и изменения сущности должны быть потокобезопасными
-
Также нужно реализовать тесты:
- Написать unit tests для всех методов сервиса (ProductService)
- Покрыть интеграционными тестами GRPC и HTTP Endpoints. Протестировать один позитивный сценарий.