Skip to content

Latest commit

History

History
78 lines (53 loc) 路 3.64 KB

File metadata and controls

78 lines (53 loc) 路 3.64 KB

Spring Boot REST API sample

English 馃嚞馃嚙

Este proyecto fue creado usando IntelliJ IDEA

Caracter铆sticas

Estas son algunas caracter铆sticas incluidas en este proyecto:

Nombre Descripci贸n
Spring Web Provee las funcionalidades b谩sicas para construir aplicaciones web y APIs REST en Spring Boot.
Spring Security Framework que maneja autenticaci贸n, autorizaci贸n y protecci贸n de rutas de forma flexible y extensible.
Mongo DB Permite integrar MongoDB para operaciones de base de datos en aplicaciones Spring Boot.
Json Web Tokens Transmisi贸n segura de datos como objetos JSON, com煤nmente usada para autenticaci贸n.

Compilaci贸n y ejecuci贸n

Importante:

Para proteger la cadena de conexi贸n de la base de datos (MongoDB en este caso), se ha configurado una variable de entorno en el archivo application.properties.
Esta variable (${MONGO_DB_URI}) debe ser definida en el proyecto desde Edit Configurations, dentro del campo Environment variables.

Si lo prefieres, tambi茅n puedes colocar la cadena de conexi贸n directamente en el archivo application.properties, aunque no es la pr谩ctica m谩s segura.

spring.data.mongodb.uri=${MONGO_DB_URI}

Todo esto est谩 pensado para el modo de desarrollo.
Cuando despliegues la aplicaci贸n en un servicio en la nube, deber谩s usar la variable de entorno ${MONGO_DB_URI}, la cual ya est谩 configurada en application.properties.

Para ello, simplemente deja el c贸digo as铆:

# Your project name
spring.application.name=apirestchallenge
# Your database name in mongoDB
spring.data.mongodb.database = games_db
# Your connection string from mongo
spring.data.mongodb.uri=${MONGO_DB_URI}

Para probar tu API en un servicio como Render, simplemente sube el repositorio y agrega la variable de entorno ${MONGO_DB_URI} con tu cadena de conexi贸n.


Ejecuci贸n en local

Tienes dos formas de ejecutar el proyecto:

1. Desde IntelliJ IDEA

Simplemente presiona el bot贸n Run 鈻讹笍 para iniciar la aplicaci贸n.

2. Desde la terminal

Si prefieres compilar y ejecutar manualmente:

./mvnw clean package -DskipTests
java -jar target/apirestchallenge-0.0.1-SNAPSHOT.jar

Postman

Este repositorio incluye un archivo que puede ser importado en Postman y contiene todas las peticiones necesarias para probar la API.

Ten en cuenta que, para realizar la petici贸n de "obtener todos los usuarios", primero debes crear uno y luego ejecutar la petici贸n "login user" para obtener un token.
Este token debe ser utilizado como Bearer en la autorizaci贸n de las peticiones protegidas, como la de obtener todos los usuarios.
Esto te permitir谩 probar correctamente la autenticaci贸n mediante JWT.

Si el servidor se inicia correctamente, la ruta que se debe usar es la siguiente:

http://0.0.0.0:8080/api/v1/users
http://0.0.0.0:8080/api/v1/games