Задача.

Написать API сервис для текущих и исторических курсов обмена валют.

Требования.

<aside> 👀 C# Net Сore 2.0 или выше. EntityFrameworkCore.

</aside>

Выполнение.

  1. Курсы валют брать с сайта Европейского центрального банка:
  1. По запросу “GET /latest” сделать вывод последних доступных курсов
  2. По запросу “GET /{date}” сделать вывод доступных курсов по дате, если они существуют или ошибку
  3. Добавить query “base” и сделать вывод курсов относительно валюты <base> (по-умолчанию у банка это EUR) у эндпоинтов выше

Пример: GET /latest?base=USD

  1. Добавить query “symbols” и сделать вывод курсов только по валютам из данного query, формат следующий - symbol[,symbol…]

Пример: GET /latest?symbols=USD,RUB

  1. По запросу “GET /history” сделать вывод курсов по заданным датам (query “start_at” и “end_at” обязательны)

Пример: GET /history?start_at=2018-01-01&end_at=2018-09-01

  1. Реализовать пункты 4 и 5 для предыдущего пункта
  2. Сделать кэширование в базу данных, чтобы файл с сайта банка не подгружался множество раз
  3. Убедиться, чтобы новые данные с сайта банка догружались в бд своевременно.
  4. Сделать возможность выбора бд из MSSQL и SQLite