Необходимо написать конвертер валют с HTTP-интерфейсом, содержащий единственный метод:
GET /currencies/convert/{from}/to/{to}?amount={amount}
Здесь параметрам from
и to
соответствуют трёхбуквенные ISO-коды исходной и целевой валют (регистр может быть любой), в параметре же amount
указывается сумма конвертации (в качестве десятичного разделителя используется точка).
За HTTP-интерфейсом следует расположить сервисный слой, реализующий доступ к котировкам центробанков РФ и Мьянмы. Выбор в пользу того или иного поставщика котировок должен совершаться на основе заголовка X-Liquidity-Provider
, который является обязательным и принимает значения из соответствующего набора: CBR
, CBM
.
Метод должен возвращать HTTP-статус 200 и результат конвертации по актуальному курсу в виде просто числа (в качестве десятичного разделителя опять-таки точка).
Будьте готовы, что потребители сервиса могут передавать некорректные значения параметров или обращаться к несуществующим ресурсам. Вы должны отвечать корректно с точки зрения HTTP-протокола.
Сделайте форк этого репозитория, выполните решение и направьте обратно через пул реквест. Используйте Spring, Maven, разумно задействуйте паттерны и не пишите велосипеды. Интеграционные тесты будут несомненным плюсом.
Не стесняйтесь адресовать любые вопросы, связанные с этим заданием, на адрес vopavlovskiy@platbox.com.