Jeśli używasz Play Scala , po wyszukaniu kilku najlepszych praktyk uznałem to podejście za najbardziej odpowiednie. Aby to zrobić, wstrzyknąłem konfigurację, a następnie uzyskałem dostęp do mojego klucza konfiguracyjnego w następujący sposób:
import play.api.Configuration
class myClass @Inject()(
config: Configuration
) {
val configValue: String = config.underlying.getString("configKey")
}
W ten sposób nie otrzymasz Option, ale String. W przypadku, gdy nie jest dostępny, zgłasza wyjątek:
Error injecting constructor, com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'configKey'
Głównym celem było uniknięcie czystego get
rozwiązania, o którym @peoplemerge już wspomniało, podczas zgłaszania konkretnego wyjątku, jeśli None.