Как получить значения из файла свойств в Ktor? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Как получить значения из файла свойств в Ktor?

Сообщение Anonymous »

Я создал проект Ktor и хотел бы настроить его для подключения к моей базе данных Postgres, не раскрывая свои учетные данные.
Среди результатов, которые я нашел, конфигурация была либо выполнена с жестко запрограммированными данными: р>
val database = Database.connect(
url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
user = "root",
driver = "org.h2.Driver",
password = "",
)

или использование переменных системной среды: Как подключиться к Postgres с помощью Kotlin/Ktor с запуском плагина
Насколько я понял, использовать переменные без раскрытия им мне пришлось создать файл .properties, что я и сделал. Однако я не знаю, как загрузить его значения в проект Ktor. Я бы хотел, чтобы мой файл application.yaml выглядел так:
postgres:
url: $POSTGRES_URL
user: $POSTGRES_USER
password: $POSTGRES_PASSWORD

Что я пробовал:
  • Я создал файлы конфигурации development.properties и Production.properties в корне проекта со следующим содержимым:
POSTGRES_URL=
POSTGRES_USER=
POSTGRES_PASSWORD=
  • В моем файле Databases.kt я попытался получить значения из файла свойств, но они имеют значение NULL
fun Application.configureDatabases() {
val properties = Properties()
val propertiesFile = File("development.properties")

if (!propertiesFile.exists()) {
throw FileNotFoundException("Postgres configuration file not found")
}

val url = properties.getProperty("POSTGRES_URL")
val user = properties.getProperty("POSTGRES_USER")
val password = properties.getProperty("POSTGRES_PASSWORD")

println(url)
println(user)
println(password)

// val database =
// Database.connect(
// url,
// user = user,
// driver = "org.h2.Driver",
// password = password
// )
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... le-in-ktor

Вернуться в «Android»