Создайте REST API .NET 7 для анализа данных из файла CSV или JSON. ⇐ C#
-
Гость
Создайте REST API .NET 7 для анализа данных из файла CSV или JSON.
В настоящее время я работаю с базой кода, которая жестко запрограммирована для загрузки данных из файла CSV.
Теперь приложению требуется возможность поддерживать загрузку данных из дополнительных форматов файлов, например Файлы XML или JSON.
Я хочу создать простое решение, которое не затрагивает значительную часть кодовой базы. Выбор формата файла можно сделать в конфигурации или выбрать динамически при Startup, но он не изменится после запуска приложения. бегу.
Может ли кто-нибудь порекомендовать чистый шаблон для достижения этой цели?
Моя первоначальная идея заключалась в том, чтобы моя конечная точка API работала со службой, которая будет проверять, какой желаемый формат данных установлен в appsettings.json. Служба будет использовать IConfiguration для доступа к значению и, в зависимости от того, какое это значение, затем будет использовать соответствующий репозиторий для взаимодействия с данными.
Например, если для поля в appsettings.json установлено значение XML, моя служба вызовет XMLDataRepository. Альтернативно, если для него установлено значение csv, я вызову CSVDataRepository.
Мой конструктор сервиса будет выглядеть так:
публичный класс MyService { частная IConfiguration _config только для чтения; частный только для чтения IXMLDataRepository _xmlDataRepository; частный только для чтения ICSVDataRepository _csvDataRepository; публичный MyService( IКонфигурация конфигурации, IXMLDataRepository xmlDataRepository, ICSVDataRepository csvDataRepository) { _config = конфигурация; _xmlDataRepository = xmlDataRepository; _csvDataRepository = csvDataRepository; } общедоступная MyResponseModel GetAllX() { // запускаем проверку в `appsettings.json` на нужный формат данных // в зависимости от значения, используйте соответствующий репозиторий вернуть _xmlDataRepository.GetAllX(); } } Вероятно, я мог бы наследовать все мои репозитории от одного базового класса, что может добавить гибкости.
Я открыт для идей. Есть мысли?
В настоящее время я работаю с базой кода, которая жестко запрограммирована для загрузки данных из файла CSV.
Теперь приложению требуется возможность поддерживать загрузку данных из дополнительных форматов файлов, например Файлы XML или JSON.
Я хочу создать простое решение, которое не затрагивает значительную часть кодовой базы. Выбор формата файла можно сделать в конфигурации или выбрать динамически при Startup, но он не изменится после запуска приложения. бегу.
Может ли кто-нибудь порекомендовать чистый шаблон для достижения этой цели?
Моя первоначальная идея заключалась в том, чтобы моя конечная точка API работала со службой, которая будет проверять, какой желаемый формат данных установлен в appsettings.json. Служба будет использовать IConfiguration для доступа к значению и, в зависимости от того, какое это значение, затем будет использовать соответствующий репозиторий для взаимодействия с данными.
Например, если для поля в appsettings.json установлено значение XML, моя служба вызовет XMLDataRepository. Альтернативно, если для него установлено значение csv, я вызову CSVDataRepository.
Мой конструктор сервиса будет выглядеть так:
публичный класс MyService { частная IConfiguration _config только для чтения; частный только для чтения IXMLDataRepository _xmlDataRepository; частный только для чтения ICSVDataRepository _csvDataRepository; публичный MyService( IКонфигурация конфигурации, IXMLDataRepository xmlDataRepository, ICSVDataRepository csvDataRepository) { _config = конфигурация; _xmlDataRepository = xmlDataRepository; _csvDataRepository = csvDataRepository; } общедоступная MyResponseModel GetAllX() { // запускаем проверку в `appsettings.json` на нужный формат данных // в зависимости от значения, используйте соответствующий репозиторий вернуть _xmlDataRepository.GetAllX(); } } Вероятно, я мог бы наследовать все мои репозитории от одного базового класса, что может добавить гибкости.
Я открыт для идей. Есть мысли?
Мобильная версия