Я искал вокруг совсем немного, но не нашел хороших примеров использования внешней веб-службы REST с использованием шаблона репозитория в чем-то вроде приложения ASP.NET MVC, с отсутствующей связью и значительным разделением проблем. Почти все примеры шаблонов репозитория, которые я нахожу в Интернете, записывают данные SQL или используют ORM. Я просто хотел бы увидеть некоторые примеры извлечения данных с помощью HttpClient, но они были обернуты в репозиторий.Примеры шаблона репозитория с потреблением внешнего веб-сервиса REST через HttpClient?
Любые ссылки на хорошие примеры? Или может кто-нибудь написать простой пример?
А я вижу! И если бы я захотел также получить запрос пользователя по адресу электронной почты, я бы добавил «public async Task GetUserAsync (string email) {}' с немного иной реализацией, чем с целым id. Что делать, если мне также нужно было получать другие типы материалов из одного и того же веб-сервиса (пользователя, роли, продукта и т. Д.)? Было бы целесообразно извлечь материал HttpClient в какой-либо класс-оболочку и оставить репозиторий конкретным для каждого объекта (UserRepository, RoleRepository, ProductRepository)? –
Jiveman
@ Jiveman да репозитории, специфичные для сущностей, имеют прекрасный смысл. Если у вас есть что-то общее для всех репозиториев, например, общий метод, который выполняет запрос GET, вы можете поместить его в абстрактный BaseRepository. Также пища для размышлений - это репозиторий для тестирования модулей. В этом случае вам действительно нужно обернуть ваш HttpClient в легкому насмешливый класс и вставить его в репозитории как зависимость. – Andrei
Да, модульное тестирование, безусловно, важно! Спасибо, что упомянули об этом. Хорошо, это определенно помогает мне лучше думать о вещах. – Jiveman