import ciris._ import ciris.cats.effect._ import cats.effect.IO import cats.syntax.functor._ object Main extends App { case class DatabaseConfig(url: String, user: String, password: String) val config = ( env("DB_URL").as[String], env("DB_USER").as[String], env("DB_PASSWORD").as[String] ).parMapN(DatabaseConfig) val result: IO[Either[ConfigError, DatabaseConfig]] = config.load[IO] result.map { println(s"Database URL: ${databaseConfig.url}") println(s"Database User: ${databaseConfig.user}") println(s"Database Password: ${databaseConfig.password}") println(s"Configuration error: ${error.messages.toList.mkString(", ")}") }.unsafeRunSync() } <dependency> <groupId>is.cir</groupId> <artifactId>ciris-core_2.12</artifactId> <version>0.12.1</version> </dependency> <dependency> <groupId>is.cir</groupId> <artifactId>ciris-enumeratum_2.12</artifactId> <version>0.12.1</version> </dependency> <dependency> <groupId>is.cir</groupId> <artifactId>ciris-generic_2.12</artifactId> <version>0.12.1</version> </dependency> <dependency> <groupId>is.cir</groupId> <artifactId>ciris-refined_2.12</artifactId> <version>0.12.1</version> </dependency> <dependency> <groupId>is.cir</groupId> <artifactId>ciris-test_2.12</artifactId> <version>0.12.1</version> <scope>test</scope> </dependency>


上一篇:
下一篇:
切换中文