Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Sugerencia] Configuración application.resources

Crear un archivo .env.template en la carpeta donde está alojado el proyecto con este contenido:

OMDBAPI_API_KEY=
CHATGPT_API_KEY=
DB_HOST=
DB_NAME=
DB_USERNAME=
DB_PASSWORD=

copiarlo como .env y registrar los códigos requeridos, por ejemplo:

OMDBAPI_API_KEY=XXXXXXXX
CHATGPT_API_KEY=XXXXXXXXX
DB_HOST=localhost
DB_NAME=alura_series
DB_USERNAME=nombreusuario
DB_PASSWORD=claveusuario

La idea es tener .env y .env.template, por que .env se tiene que incluir en .gitignore para que no se copie a GitHub, pero queda .env.template para saber que se tiene que llenar esa información.

Para usarlo en Spring, se require dotenv-java en pom.xml

<dependency>
    <groupId>io.github.cdimascio</groupId>
    <artifactId>dotenv-java</artifactId>
    <version>3.1.0</version>
</dependency>

y se puede usar una función, donde se requira el ApiKey como esta: Yo la puse en Main.java porque es allí donde se construya los requerimientos para el API de OMDB.

private String getApiKey() {
    Dotenv dotenv = null;
    dotenv = Dotenv.configure().load();
    return dotenv.get("OMDBAPI_API_KEY");
  }

Pero esta función no funciona para application.properties, ya que tiene una forma propia para leer los archivos:

spring.config.import=file:.env[.properties]

spring.application.name=screenmatch
spring.datasource.url=jdbc:postgresql://${DB_HOST}/${DB_NAME}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.HSQLDialect

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.format-sql=true

Cuál es el objetivo de esto? Ocultar/proteger las credenciales que pueden ser privadas. Hay otros métodos, algunos que diferencian el entorno: dev y production.

1 respuesta
solución!

Hola Carlos, espero que estés bien

Considero su código muy bueno, en este momento no veo puntos de mejora. ¡Continúa con sus estudios y éxito en su carrera!

Gracias por compartir tu ejercício práctico con nosotros! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura.

Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!