Конвертирует выбранную сумму из одной выбранной валюты в другую.
- сборка приложения:
./mvnw package
- запуск контейнера с PostgreSQL:
docker-compose up -d
- запуск приложения:
java -jar ./target/currency-converter-1.jar
URL и подключение к PoatgreSQL конфигурируется в файле application.properties
http://localhost:8080/graphiql
-
список курсов валют:
- пример запроса:
{ currencies { name nominal updateDate rate } }
- пример ответа:
{ "data": { "currencies": [ { "name": "Австралийский доллар", "nominal": 1, "updateDate": "2020-11-19", "rate": 55.5784 }, { "name": "Азербайджанский манат", "nominal": 1, "updateDate": "2020-11-19", "rate": 44.6891 } ] } }
-
курс валюты:
- пример запроса:
{ currency(id: "R01010") { id name numCode charCode nominal updateDate rate } }
- пример ответа:
{ "data": { "currency": { "id": "R01010", "name": "Австралийский доллар", "numCode": "36", "charCode": "AUD", "nominal": 1, "updateDate": "2020-11-19", "rate": 55.5784 } } }
-
конвертация:
- пример запроса:
{ convert(fromId: "R01585F", toId: "R01710A", sum: 15) }
- пример ответа:
{ "data": { "convert": 12.789 } }
-
статистика конвертаций:
- пример запроса:
{ conversionStatistics { fromCurrency { name } toCurrency { name } averageRate sum } }
- пример ответа:
{ "data": { "conversionStatistics": [ { "fromCurrency": { "name": "Румынский лей" }, "toCurrency": { "name": "Армянских драмов" }, "averageRate": 121.13, "sum": 110 }, { "fromCurrency": { "name": "Румынский лей" }, "toCurrency": { "name": "Новый туркменский манат" }, "averageRate": 0.85, "sum": 30 } ] } }
-
история ковертаций:
- пример запроса (формат даты: дд-ММ-гггг):
{ conversionHistory(afterDate: "19-11-2020") { fromCurrency toCurrency rate sum } }
- пример овтета:
{ "data": { "conversionHistory": [ { "fromCurrency": "Азербайджанский манат", "toCurrency": "Армянских драмов", "rate": 292.67001, "sum": 1323 }, { "fromCurrency": "Австралийский доллар", "toCurrency": "Армянских драмов", "rate": 361.89607, "sum": 1 } ] } }