Readme.md

Реализация API DaData

Структура решения

В проекте присутствуют два проекта

  • Api (ASP .NET Core)
  • Models (Библиотека классов)

Описание проектов

Api

Общая информация

В данном проекте реализуется работа с API DaData, работа с конфигурационным файлом/переменными окружения среды, настройка политики кросс-доменных запросов, настройка HttpClient

Подключенные библиотеки

  • Newtonsoft.Json (работа с JSON)
  • NReco.Logging.File (логгирование в файл)
  • Swashbuckle.AspNetCore (реализация Swagger для платформы .NET)
  • FluentResults (Обеспечивает наличие объекта-обертки, отображающего результат работы функции)
  • Automapper (Сопоставление моделей)
  • EntityFrameworkCore (Взаимодействие с БД)

    Конфигурация

    Конфигурация выполняется через файл appsettings.json и/или через переменные окружения среды (используемый префикс - API_) в секции Options. В конфигурации возможно указать следующие параметры:

  • Файл для хранения лога.
  • BaseAddress и список заголовков для HttpClient
  • Параметры CORS

    Контроллеры

    AddressController

    Предоставляет endpoint для обращения к API (метод GET), принимает нестандартизированный адрес на вход

    Службы

    CleanApiService

    Реализует обращение к API DaData с использование IHttpClientFactory. Так же в данном классе указаны настройки для преобразования данных API из snake_case в PascalCase модель используя JsonSerializerSettings и ContractResolver из библиотеки Newtonsoft.Json

Models

Представляет описание классов для сопоставления с секцями конфигурационного файла, а также модели для Http запросов (AddressRequestModel) и ответов(AddressResponseModel).

Database

Контекст базы данных EntityFrameworkCore и сущности

Mappings

Профили сопоставления моделей

Конвейеры
0 успешных
0 с ошибкой