Curso de Java Spring

Clases del Curso de Java Spring

Instruido por:
Alejandro Ramírez
Alejandro Ramírez
Avanzado
5 horas de contenido
Ver la ruta de aprendizaje
Platzi Market
Proyecto del curso
Platzi Market

Controla las operaciones de un supermercado a través de una API con Java Spring. Empieza conectándote a una base de datos, crea todos los servicios para manejar tus productos y finalmente despliega tu aplicación para ser consumida.

Curso de Java Spring

Curso de Java Spring

Progreso del curso:0/41contenidos(0%)

Contenido del Curso
Tutoriales de estudiantes
Preguntas de estudiantes

Progreso del curso:0/41contenidos(0%)

Antes de empezar

Material Thumbnail

Bienvenida al curso

01:38 min

Material Thumbnail

¿Java sigue siendo gratuito?

03:25 min

Instalación de ambiente de desarrollo: Linux Ubuntu

02:39 min

Instalación de ambiente de desarrollo: macOS

03:47 min

Instalación de ambiente de desarrollo: Windows

03:46 min

Introducción a Spring boot

Material Thumbnail

¿Qué es y qué usaremos de Spring?

03:29 min

Material Thumbnail

Conocer qué es una aplicación autocontenida

02:25 min

Material Thumbnail

Crear nuestra aplicación con Spring Initializr

06:12 min

Material Thumbnail

Hola mundo con Spring Boot

07:47 min

Material Thumbnail

Configurar Spring Boot

08:06 min

Material Thumbnail

Crear la estructura del proyecto

05:20 min

Spring Data

Material Thumbnail

Conocer qué es Spring Data

05:24 min

Material Thumbnail

Conectar la base de datos a nuestra aplicación

12:40 min

Material Thumbnail

Mapear las tablas como clases

14:00 min

Material Thumbnail

Crear Entity cuando su clave primaria es compuesta

06:49 min

Material Thumbnail

Mapear relaciones entre clases

10:37 min

Material Thumbnail

Usar la interface CrudRepository

07:54 min

Construyendo nuestra API

Material Thumbnail

Implementar la anotación @Repository

05:19 min

Material Thumbnail

¿Qué es el patrón Data Mapper y qué resuelve?

13:37 min

Orientar nuestra API al dominio con MapStruct

11:22 min

Material Thumbnail

Orientar nuestro repositorio a términos del dominio

09:27 min

Material Thumbnail

Inyección de dependencias

05:16 min

Material Thumbnail

Implementar la anotación @Service

09:12 min

Material Thumbnail

Implementar la anotación @RestController

07:14 min

Material Thumbnail

Exponer nuestra API

09:25 min

Mejorando nuestra API

Material Thumbnail

Controlar las respuestas HTTP

09:18 min

Material Thumbnail

Crear el dominio de compras

05:27 min

Material Thumbnail

Mapear el dominio de compras

10:45 min

Material Thumbnail

Crear el repositorio de compras

09:01 min

Material Thumbnail

Probando nuestros servicios de compras

02:56 min

Material Thumbnail

Documentar nuestra API con Swagger

13:00 min

Spring Security

Material Thumbnail

Configurar la seguridad de nuestra API con Spring Security

08:55 min

Material Thumbnail

Autenticación con JWT

11:16 min

Material Thumbnail

Autorización con JWT

14:34 min

Despliegue de nuestra aplicación

Material Thumbnail

Desplegar nuestra API desde la ventana de comandos

07:50 min

Material Thumbnail

Desplegar nuestra base de datos con Heroku

07:43 min

Material Thumbnail

Desplegar nuestra API con Heroku

07:38 min

Material Thumbnail

Conclusiones y despedida del curso

01:07 min

nuevosmás votadossin responder
Alejandro Sotelo
Alejandro Sotelo
Estudiante

Hola buenas tardes, Alejandro partiendo del hecho de que estamos utilizando una aproximación arquitectónica orientada al Dominio, que tan conveniente es dejar el constructor por defecto, en lugar de crear uno con los atributos necesarios para crear la entidad. En qué casos recomiendas utilizar uno u otro. Gracias

0
Alexis Méndez Méndez
Alexis Méndez Méndez
Estudiante
 {
  "idCliente": "4546221",        
  "fecha": "2000-12-31T13:40:00",       
  "medioPago": "P",       
  "comentario": "nueva compra",
  "estado": "P",     
       "items": [{
           "idProducto": 1,
                    "cantidadStock": 10,
                    "total": 3000.0,                
                    "estado": true},
                      { "idProducto": 3,                
                      "cantidad": 20,                
                      "total": 14000.0,               
                      "estado": true           
                      }]  
                 }



{
    "idCompra": 11,
    "idCliente": "4546221",
    "fecha": "2000-12-31T13:40:00",
    "medioPago": "P",
    "comentario": "nueva compra",
    "estado": "P",
   ** "productos": null**
}
1
Javier Alejandro Flores Gomez
Javier Alejandro Flores Gomez
Estudiante

Puedo utilizar MySQL workbench en vez de postgre aql? o son cosas distintas?

2
Josué Eliezer Gómez Soto
Josué Eliezer Gómez Soto
Estudiante

Así como convertimos una lista de Products, en la relación inversa es necesario hacerlo o no, detallo ejemplo:

![](Captura.PNG

0
Luis Felipe Carrasco Galindo
Luis Felipe Carrasco Galindo
Estudiante

Profesor Tengo una consulta sobre el metodo save().
debería tomar el id del producto y en base a eso calcular la cantidad y no enviarla mediante el Body, ya que estas operaciones debería ser trabajo del Backend y no del Frontend.
quizás a modo del curso, estaría bien por ahora.

quedo atento a su comentario

saludos.-

0
Alexandra Serna Cardona
Alexandra Serna Cardona
Estudiante

¡Hola!
¿Los atributos que tienen el @JoinColumn deberían también tener los getters y los setters o hay algo en las buenas prácticas que indique que no es necesario?

0
Darwin Gómez Santamaría
Darwin Gómez Santamaría
Estudiante

Compañeros a alguno de ustedes les ha salido el siguiente error cuando recompilan el proyecto

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

1
Marvin Solano Solano
Marvin Solano Solano
Estudiante

Hay alguna forma de generar esto sin el spring initializer web? por ejemplo con linea de comando o desde el mismo IDE?

1
Josué Eliezer Gómez Soto
Josué Eliezer Gómez Soto
Estudiante

Pregunta estimada comunidad. En la relación COMPRAS - PRODUCTOS, los campos CANTIDAD, TOTAL, ESTADO de la tabla COMPRAS_PRODUCTOS no sería mejor que esté en la tabla COMPRAS

0
luispillaga
luispillaga
Estudiante

En el min 8:39 al probar en postman enviamos como parte del body el ID de la categoría y se guarda correctamente pero el object category retorna con null. He implementado esto en mi proyecto pero necesito que obligatoriamente me retorne el objecto category al guardar. ¿Cómo debería implementar esta funcionalidad si el metodo save del repository siempre retorna null y si tengo por ejemplo 4 relaciones como categoryId?

1