Skip to content

Commit bdb5efe

Browse files
implement default values in applicaiton.yml and redocs env
1 parent e4be980 commit bdb5efe

File tree

2 files changed

+87
-70
lines changed

2 files changed

+87
-70
lines changed

.env.example

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,23 @@ HEADER_CORS_ALLOWED_ORIGINS=<ALLOWED_ORIGINS> # Allowed origins for CORS (e.g.,
6767
SERVER_TOMCAT_TIMEOUT=<TOMCAT_TIMEOUT> # Timeout for Tomcat server (in ms)
6868

6969
# Swagger / OpenAPI Configuration
70-
# Settings for Swagger UI and OpenAPI documentation
71-
SWAGGER_API_DOCS_ENABLED=<TRUE/FALSE> # Enable or disable generation of API docs
72-
SWAGGER_UI_DEFAULT_MODEL_EXPAND_DEPTH=<EXPAND_DEPTH> # Default model expand depth (1 = minimal)
73-
SWAGGER_UI_DEFAULT_MODEL_RENDERING=<RENDERING_TYPE> # Model rendering type (example/model)
74-
SWAGGER_UI_DISPLAY_OPERATION_ID=<TRUE/FALSE> # Display operation IDs in Swagger UI
75-
SWAGGER_UI_DISPLAY_REQUEST_DURATION=<TRUE/FALSE> # Show request duration in Swagger UI
76-
SWAGGER_UI_DOC_EXPANSION=<EXPANSION_MODE> # Expansion mode (list/full/none)
77-
SWAGGER_UI_ENABLED=<TRUE/FALSE> # Enable or disable Swagger UI
78-
SWAGGER_UI_PATH=<SWAGGER_PATH> # Path to access Swagger UI (e.g., /)
79-
SWAGGER_UI_URL=<SWAGGER_DOCS_URL> # URL of the OpenAPI docs (e.g., /v3/api-docs)
70+
# Settings for your OpenAPI Docs
71+
SWAGGER_API_DOCS_ENABLED=<TRUE/FALSE> # Enable or disable API documentation generation
72+
SWAGGER_API_DOCS_PATH=<API_DOCS_PATH> # Path to serve OpenAPI JSON (default: /v3/api-docs)
73+
74+
# Settings for your ReDoc UI
75+
SWAGGER_REDOC_ENABLED=<TRUE/FALSE> # Enable or disable ReDoc UI
76+
SWAGGER_REDOC_PATH=<REDOC_PATH> # Path to access ReDoc UI (e.g., /redoc)
77+
78+
# Settings for your Swagger UI
79+
SWAGGER_UI_ENABLED=<TRUE/FALSE> # Enable or disable Swagger UI
80+
SWAGGER_UI_PATH=<SWAGGER_UI_PATH> # Swagger UI access path (e.g., /)
81+
SWAGGER_UI_URL=<SWAGGER_UI_URL> # URL of the OpenAPI docs (default: /v3/api-docs)
82+
SWAGGER_UI_DEFAULT_MODEL_EXPAND_DEPTH=<DEPTH> # Model expand depth (e.g., 1)
83+
SWAGGER_UI_DEFAULT_MODEL_RENDERING=<RENDERING> # Rendering type: example/model
84+
SWAGGER_UI_DISPLAY_OPERATION_ID=<TRUE/FALSE> # Show operation IDs
85+
SWAGGER_UI_DISPLAY_REQUEST_DURATION=<TRUE/FALSE> # Show request duration
86+
SWAGGER_UI_DOC_EXPANSION=<MODE> # Expansion mode: list/full/none
8087

8188
# Log Level Configuration
8289
# Define the logging level (e.g., INFO, DEBUG, OFF)

src/main/resources/application.yml

Lines changed: 70 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,151 @@
11
# Información de la aplicación
22
application:
33
# Autor de la aplicación
4-
author: ${AUTHOR}
4+
author: ${AUTHOR:SmartPot Developers}
55
# Descripción de la aplicación
6-
description: ${DESCRIPTION}
6+
description: ${DESCRIPTION:Documentación de la API REST de SmartPot}
77
security:
88
jwt:
99
# Tiempo de expiración del JWT
10-
expiration: ${SECURITY_JWT_EXPIRATION}
10+
expiration: ${SECURITY_JWT_EXPIRATION:86400000}
1111
# Clave secreta para la firma del JWT
12-
secret-key: ${SECURITY_JWT_SECRET_KEY}
12+
secret-key: ${SECURITY_JWT_SECRET_KEY:c8e9b6803afbcfa6edd9569c94c75ff4b144622b0a0570a636dffd62c24a3476}
1313
public:
1414
# Rutas públicas que no requieren autenticación
15-
routes: ${SECURITY_PUBLIC_ROUTES}
15+
routes: ${SECURITY_PUBLIC_ROUTES:/auth/login,/auth/verify}
1616
aes:
1717
# Clave secreta para la encriptación aes 256
18-
key: ${SECURITY_AES_KEY}
18+
key: ${SECURITY_AES_KEY:Z0Yp4Zx5mN3j6rB8VwR2oE9fT2pX1qL6dC5yK7sM0uH3nA8bJ4vF9gT1rD2eW6zP}
1919
# Título de la aplicación
20-
title: ${TITLE}
20+
title: ${TITLE:SmartPot API}
2121
# Versión de la aplicación
22-
version: ${VERSION}
22+
version: ${VERSION:1.0.0}
2323

2424
# Configuración HTTP
2525
http:
2626
header:
2727
cors:
2828
# Orígenes permitidos para CORS (Cross-Origin Resource Sharing)
29-
allowedOrigins: ${HEADER_CORS_ALLOWED_ORIGINS}
29+
allowedOrigins: ${HEADER_CORS_ALLOWED_ORIGINS:http://localhost:5173}
3030

3131
# Configuración de logging
3232
logging:
3333
level:
3434
com:
3535
# Nivel de log para la biblioteca 'mongodb'
36-
mongodb: ${DEBUGGER_MODE}
36+
mongodb: ${DEBUGGER_MODE:INFO}
3737
io:
3838
# Nivel de log para la biblioteca 'swagger'
39-
swagger: ${DEBUGGER_MODE}
39+
swagger: ${DEBUGGER_MODE:INFO}
4040
org:
4141
# Niveles de log para diversas bibliotecas dentro de Spring
42-
springdoc: ${DEBUGGER_MODE}
43-
springframework: ${DEBUGGER_MODE}
44-
springframework.data.mongodb: ${DEBUGGER_MODE}
42+
springdoc: ${DEBUGGER_MODE:INFO}
43+
springframework: ${DEBUGGER_MODE:INFO}
44+
springframework.data.mongodb: ${DEBUGGER_MODE:INFO}
4545
root:
4646
# Nivel de log para el nivel raíz
47-
root: ${DEBUGGER_MODE}
47+
root: ${DEBUGGER_MODE:INFO}
4848
smartpot:
4949
com:
5050
api:
5151
Security:
52-
jwt: ${DEBUGGER_MODE} # Nivel de log para JWT en la API de seguridad
52+
jwt: ${DEBUGGER_MODE:INFO} # Nivel de log para JWT en la API de seguridad
5353

5454
# Configuración de limitación de tasa (Rate Limiting)
5555
rate:
5656
limiting:
5757
# Número máximo de solicitudes permitidas
58-
max-requests: ${RATE_LIMITING_MAX_REQUESTS}
58+
max-requests: ${RATE_LIMITING_MAX_REQUESTS:5}
5959
# Rutas públicas que estarán sujetas a la limitación de tasa
60-
public-routes: ${RATE_LIMITING_PUBLIC_ROUTES}
60+
public-routes: ${RATE_LIMITING_PUBLIC_ROUTES:/swagger-ui/,/v3/api-docs,/swagger-resources/,/webjars/}
6161
# Ventana de tiempo en la que se aplican las limitaciones
62-
time-window: ${RATE_LIMITING_TIME_WINDOW}
62+
time-window: ${RATE_LIMITING_TIME_WINDOW:60000}
6363

6464
# Configuración del servidor
6565
server:
6666
# Puerto en el que la aplicación escucha
67-
port: ${PORT}
67+
port: ${PORT:8091}
6868
tomcat:
6969
# Tiempo de espera para las conexiones de Tomcat
70-
connection-timeout: ${SERVER_TOMCAT_TIMEOUT}
70+
connection-timeout: ${SERVER_TOMCAT_TIMEOUT:600000}
7171

7272
# Configuración de Spring
7373
spring:
7474
application:
7575
# Nombre de la aplicación
76-
name: ${APP_NAME}
76+
name: ${APP_NAME:SmartPot-API}
7777
cache:
7878
redis:
7979
# Configuración de caché en Redis
80-
cache-null-values: ${CACHE_NULL_VALUES}
80+
cache-null-values: ${CACHE_NULL_VALUES:false}
8181
# Tiempo de vida de los valores en caché
82-
time-to-live: ${CACHE_TIME_TO_LIVE}
82+
time-to-live: ${CACHE_TIME_TO_LIVE:300000}
8383
# Tipo de caché (por ejemplo, redis, ehcache, etc.)
84-
type: ${CACHE_TYPE}
84+
type: ${CACHE_TYPE:redis}
8585
data:
8686
mongodb:
8787
# URI de conexión a MongoDB
88-
uri: ${DATA_CONNECTION_METHOD}://${DATA_SOURCE_USERNAME}:${DATA_SOURCE_PASSWORD}@${DATA_SOURCE_DOMAIN}/${DATA_SOURCE_DB}?${DATA_PARAMS}
88+
uri: ${DATA_CONNECTION_METHOD:mongodb}://${DATA_SOURCE_USERNAME:admin}:${DATA_SOURCE_PASSWORD:admin}@${DATA_SOURCE_DOMAIN:db-smartpot:27017}/${DATA_SOURCE_DB:smartpot}?${DATA_PARAMS:authSource=admin&directConnection=true&serverSelectionTimeoutMS=100000&socketTimeoutMS=10000&appName=mongo}
8989
redis:
9090
# Configuración de la base de datos Redis
91-
database: ${CACHE_DB}
92-
host: ${CACHE_HOST}
91+
database: ${CACHE_DB:0}
92+
host: ${CACHE_HOST:cache-smartpot}
9393
lettuce:
9494
pool:
9595
# Configuración de la conexión en pool para Redis
96-
max-active: ${CACHE_LETTUCE_POOL_MAX_ACTIVE}
97-
max-idle: ${CACHE_LETTUCE_POOL_MAX_IDLE}
98-
max-wait: ${CACHE_LETTUCE_POOL_MAX_WAIT}
99-
min-idle: ${CACHE_LETTUCE_POOL_MIN_IDLE}
96+
max-active: ${CACHE_LETTUCE_POOL_MAX_ACTIVE:8}
97+
max-idle: ${CACHE_LETTUCE_POOL_MAX_IDLE:8}
98+
max-wait: ${CACHE_LETTUCE_POOL_MAX_WAIT:-1}
99+
min-idle: ${CACHE_LETTUCE_POOL_MIN_IDLE:8}
100100
# Configuración de la autenticación en Redis
101-
password: ${CACHE_PASSWORD}
102-
port: ${CACHE_PORT}
103-
timeout: ${CACHE_TIMEOUT}
104-
username: ${CACHE_USERNAME}
101+
password: ${CACHE_PASSWORD:root}
102+
port: ${CACHE_PORT:6379}
103+
timeout: ${CACHE_TIMEOUT:2000}
104+
username: ${CACHE_USERNAME:default}
105+
105106
mail:
106107
# Configuración para el servidor de correo
107-
host: ${MAIL_HOST}
108-
password: ${MAIL_PASSWORD}
109-
port: ${MAIL_PORT}
108+
host: ${MAIL_HOST:mail-smartpot}
109+
password: ${MAIL_PASSWORD:password123}
110+
port: ${MAIL_PORT:1025}
110111
properties:
111112
mail:
112113
smtp:
113114
# Configuración de autenticación SMTP
114-
auth: ${MAIL_PROPERTIES_SMTP_AUTH}
115+
auth: ${MAIL_PROPERTIES_SMTP_AUTH:true}
115116
# Habilitar STARTTLS para la conexión segura
116117
starttls:
117-
enable: ${MAIL_PROPERTIES_SMTP_STARTTLS_ENABLE}
118-
username: ${MAIL_USERNAME}
118+
enable: ${MAIL_PROPERTIES_SMTP_STARTTLS_ENABLE:false}
119+
username: ${MAIL_USERNAME:smartpotadmin@example.com}
119120

120121
# Configuración de Swagger/OpenAPI (SpringDoc)
121122
springdoc:
122123
api-docs:
123-
# Habilitar o deshabilitar la generación de la documentación de la API
124-
enabled: ${SWAGGER_API_DOCS_ENABLED}
124+
# Habilita o deshabilita la generación de la documentación de la API
125+
enabled: ${SWAGGER_API_DOCS_ENABLED:true}
126+
# Ruta para acceder a los JSON de OpenAPI (por defecto /v3/api-docs)
127+
path: ${SWAGGER_API_DOCS_PATH:/v3/api-docs}
128+
129+
redoc:
130+
# Habilita o deshabilita ReDoc (documentación alternativa)
131+
enabled: ${SWAGGER_REDOC_ENABLED:true}
132+
# Ruta para acceder a la documentación en formato ReDoc
133+
path: ${SWAGGER_REDOC_PATH:/redoc}
134+
125135
swagger-ui:
126-
# Profundidad de expansión de modelos en Swagger UI
127-
default-model-expand-depth: ${SWAGGER_UI_DEFAULT_MODEL_EXPAND_DEPTH}
128-
# Tipo de renderizado de modelos (puede ser 'example', 'model', etc.)
129-
default-model-rendering: ${SWAGGER_UI_DEFAULT_MODEL_RENDERING}
130-
# Mostrar o no el ID de la operación en la UI
131-
display-operation-id: ${SWAGGER_UI_DISPLAY_OPERATION_ID}
132-
# Mostrar la duración de las solicitudes en la UI de Swagger
133-
display-request-duration: ${SWAGGER_UI_DISPLAY_REQUEST_DURATION}
134-
# Expansión por defecto en Swagger UI (puede ser 'list', 'full', etc.)
135-
doc-expansion: ${SWAGGER_UI_DOC_EXPANSION}
136-
# Habilitar o deshabilitar la UI de Swagger
137-
enabled: ${SWAGGER_UI_ENABLED}
138-
# Path para acceder a Swagger UI
139-
path: ${SWAGGER_UI_PATH}
140-
# URL donde se encuentra la documentación de la API en formato OpenAPI
141-
url: ${SWAGGER_UI_URL}
136+
# Profundidad de expansión de los modelos
137+
default-model-expand-depth: ${SWAGGER_UI_DEFAULT_MODEL_EXPAND_DEPTH:1}
138+
# Tipo de renderizado de modelos ('example', 'model', etc.)
139+
default-model-rendering: ${SWAGGER_UI_DEFAULT_MODEL_RENDERING:example}
140+
# Mostrar el ID de la operación en la UI
141+
display-operation-id: ${SWAGGER_UI_DISPLAY_OPERATION_ID:false}
142+
# Mostrar la duración de las solicitudes en la UI
143+
display-request-duration: ${SWAGGER_UI_DISPLAY_REQUEST_DURATION:true}
144+
# Expansión por defecto ('list', 'full', 'none')
145+
doc-expansion: ${SWAGGER_UI_DOC_EXPANSION:list}
146+
# Habilita o deshabilita la UI de Swagger
147+
enabled: ${SWAGGER_UI_ENABLED:true}
148+
# Ruta base para acceder a Swagger UI
149+
path: ${SWAGGER_UI_PATH:/}
150+
# URL del JSON de OpenAPI (por defecto /v3/api-docs)
151+
url: ${SWAGGER_UI_URL:/v3/api-docs}

0 commit comments

Comments
 (0)