SPRING BOOT + API REST + JPA + QUERY METHOD + DTO

Поділитися
Вставка
  • Опубліковано 21 січ 2025

КОМЕНТАРІ • 96

  • @FabricioW69
    @FabricioW69 6 місяців тому +5

    En verdad, solo me queda expresar mi total admiración por la forma de explicar y enseñar, he visto infinidad de videos y nadie explica como tú, en 38 minutos aproximadamente, hiciste lo que otros hacen en horas y horas de explicaciones vacías. En verdad excelente explicación de todo, muchas gracias por compartir tu conocimiento.

  • @davidikingarisolorzanovill6483
    @davidikingarisolorzanovill6483 Рік тому +10

    Empezó muy bien, y terminó Mejor, la explicación de los DTO es muy clara y me ayuda bastante para lo que estoy trabajando actualmente.

  • @michel_hdez
    @michel_hdez Рік тому +6

    Que manera de explicar. Me pareció muy claro y directo. Espero no deje de subir videos. Un excelente trabajo. Saludos desde México.

  • @sebastianacosta4677
    @sebastianacosta4677 Рік тому +8

    Excelente explicacion, Se nota la practicidad en querer mostrar lo que se busca primero con graficos y luego con codigo. Ese es el tip para entender bien el flujo de lo que se busca. Excente Trabajo

  • @letoniel006
    @letoniel006 Рік тому +5

    Quiero darte las gracias porque explicas muy bien y el apoyo visual que muestras para las explicaciones hace que se entiendan mejor los conceptos.

  • @farooshk
    @farooshk 10 місяців тому

    Me quito el sombrero, a este momento la mejor explicación y detalle en una arquitectura y ensamble que haya visto en SB. Mil gracias por tu valioso video

  • @ronaldsammismoranonato1827
    @ronaldsammismoranonato1827 4 місяці тому +1

    Excelente forma de graficar y explicar. Muy ordenado y sin música de fondo. Solo desde mi modo de ver, sugeriría que muestre un puntero para señalar los objetos del cuales se está detallando el proceso. Gracias por la info.

  • @andresmarolt7510
    @andresmarolt7510 Рік тому +2

    Excelente contenido! Estoy arrancando con Spring Boot y tus videos me están ayudando un montón. Gracias!

  • @juandiegochoccnagarcia5686
    @juandiegochoccnagarcia5686 Рік тому +2

    Muchas Gracias Ivana , queremos más tutoriales con Spring Boot

  • @Rubén-m4s
    @Rubén-m4s Рік тому +1

    Vaya vaya, felicidades por explicar esto, muchos se ponen a hacer vídeos de crud pero no explican todo esto 🙌🙌🙌, muchas gracias y enhorabuena

  • @sebastianignaciosantillan2454
    @sebastianignaciosantillan2454 Рік тому +1

    tenia un monton de huecos faltante de informacion y me aclaraste la mayoria. te ganaste un sub. gracias y alli va el link y la compartida a mis compañeros

    • @irojascorsico
      @irojascorsico  Рік тому +1

      Gracias Sebas! Me alegro que el video te sea de utilidad. Abrazo!

  • @springprogramming
    @springprogramming Рік тому +2

    Genial explicación, todo comprendido a la perfección.

  • @noel1711
    @noel1711 Рік тому

    Wow Ivana porque no descubrí tu canal hace tiempo ;) . Excelente canal y la mejor explicación.

    • @irojascorsico
      @irojascorsico  11 місяців тому +1

      Muchísimas gracias @noel1711. Abrazo!

  • @agustindolimpio
    @agustindolimpio Рік тому +2

    Buenisimo video, Justo lo que estaba buscando! Muchas gracias

  • @alejocastle2796
    @alejocastle2796 8 місяців тому +2

    WOW!!! Muchas gracias por compartir tus conocimientos!!! de todo corazón muchas gracias!!!

  • @nestor-162
    @nestor-162 10 місяців тому

    Excelente video, me aclaró mucho las ideas. Antes de ver el video, todos estos conceptos se me mezclaban y me generaban confusión. Gracias

  • @cintianecol4968
    @cintianecol4968 2 роки тому +2

    Muchas gracias Profe!!! Es de mucha ayuda el video. Espero llegar a tiempo para presentar el portfolio el 15 de Enero

    • @irojascorsico
      @irojascorsico  2 роки тому +1

      Vas a llegar!! No dudes en escribirme si tienes consultas.

  • @TecnoTubeTutorials
    @TecnoTubeTutorials 9 місяців тому +1

    Excelente calidad de tus tutoriales!

  • @juancamiloarenasflorez8841
    @juancamiloarenasflorez8841 6 місяців тому +1

    Muchas gracias, en verdad he aprendido bastante contigo!

  • @jamestellez2339
    @jamestellez2339 4 місяці тому

    Gracias por tu contenido, me ayudo a resolver vacios basicos de la construcción de las entidades

  • @elvisalmonte3060
    @elvisalmonte3060 Рік тому +2

    Gracias profesora, los temas son muy bien explicados!!!

  • @BrattScorsa
    @BrattScorsa Рік тому +2

    Muy buen tutorial. FELICITACIONES!!!!!!!!!!!!!!!!!!!!

  • @alanalbertoromerotapia6769
    @alanalbertoromerotapia6769 Рік тому +1

    Muy buena al explicar, gracias !

  • @KimMiHee
    @KimMiHee Рік тому +2

    gracias ivana te quiero mucho

  • @AtomWR1
    @AtomWR1 Рік тому +2

    Excelente! DTO en 29:40

  • @f.m.agemmaluk
    @f.m.agemmaluk Рік тому +2

    Excelente video :)

  • @federicomelo1293
    @federicomelo1293 Рік тому +1

    Excelente video, muy completo

  • @emmanuelcajasballesteros6409
    @emmanuelcajasballesteros6409 Рік тому +1

    gracias por la explicaxion, muy claro todo

  • @sebastianacosta4677
    @sebastianacosta4677 Рік тому +1

    Has ganado un nuevo Subscriptor

  • @mayorajesus182
    @mayorajesus182 Рік тому +1

    Muchas gracias!!. Explicas muy bien .

  • @diegotoselli235
    @diegotoselli235 Рік тому +2

    Hola Ivana muchas gracias por tus videos, es muy clara tu manera de explicar. Quería hacerte una consulta, cuales son las dependencias utilizadas en el proyecto de ejemplo y si la empaquetación fue WAR o JAR. Quiero realizarlo con la herramienta Spring Initializr y seguir toda la explicación del video

    • @irojascorsico
      @irojascorsico  Рік тому +1

      Hola Diego, te dependencias utilizadas son: Spring Web, Spring Data JPA, MySQL Driver, Lombok y Spring Boot DevTools. El packaging con el que trabajé es JAR. Saludos, Ivana

  • @nahuel4400
    @nahuel4400 Рік тому +2

    Hola en los controladores para que sirve la anotación @responsebody debajo de los métodos post,get,delete? No los uso y las peticiones me andan igual, es mala práctica no usarlos?

    • @irojascorsico
      @irojascorsico  Рік тому +1

      Muy buena pregunta NAH YT!! Si bien en spring boot es recomendable utilizar la anotación @ResponseBody en el controller de una API REST para devolver la respuesta en formato JSON, no utilizar la anotación @ResponseBody no necesariamente es una mala práctica ya que, Spring Boot puede inferir la respuesta que se debe devolver en función del tipo de dato que devuelve el método. Por ejemplo, si el método devuelve un objeto, Spring Boot lo convierte automáticamente en JSON y lo envía en la respuesta.
      Sin embargo, es importante aclarar que, si se desea devolver una respuesta en un formato JSON personalizado quizás, en este caso probablemente necesites utilizar la anotación@ResponseBody. De lo contrario, Spring Boot puede utilizar una respuesta por defecto que no cumpla con el formato que esté esperando por ej. el frontend.
      Saludos

    • @nahuel4400
      @nahuel4400 Рік тому

      Gracias por responder, quedo atento y suscrito por si subís videos enseñando jwt que es algo que no encuentro videos donde pueda entender bien su funcionamiento

  • @trianagonzalez5077
    @trianagonzalez5077 11 місяців тому

    Buenas tardes Profesora, primero que todo felicitarla, su clases es muy clara, y me ha ayudado mucho, me gustaría consultarle si realiza clases particulares a distancia, me gustaría aprender más de spring boot.

    • @irojascorsico
      @irojascorsico  10 місяців тому

      @trianagonzalez5077 gracias por tus comentarios. Por el momento no realizo clases particulares a distancia pero puedes hacer las consutlas que necesites y en la medida que puedo voy respondiendo.
      Si tengo pensado diseñar un curso para hacer con clases en vivo en algún momento... pero está bastante verde por ahora. Abrazo!

  • @carlosengui9645
    @carlosengui9645 9 місяців тому

    Buenas tardes,
    Enhorabuena por tu canal y tu forma de explicar. Esto qu evaya de antemano.
    Por otro lado, uan pregunta tonta por mi parte, ¿Porque creas los constructores a mano si después usas lombok para crear los Getter y Setter? ¿Porque no lo hacer también con Lombok?
    Indiferentemente de esta pregunta, verdaderamente explicas muy bien y me ha quedado más claro que con otros canales. Tienes mi suscripción y campanita.
    Un saludo.

    • @irojascorsico
      @irojascorsico  9 місяців тому

      Hola!! Tienes razón. Ese video lo publiqué muy rápidamente porque estaba destinado a mis estudiantes haciendo foco en las apis. Abrazo!

  • @adcmo9ifly
    @adcmo9ifly Рік тому +2

    Gracias ❤

  • @sabrinatecherasosa
    @sabrinatecherasosa Рік тому +2

    muy bueno asi lo usamos en el trabajo real

  • @nicolasgarcia253
    @nicolasgarcia253 8 місяців тому

    Hola Ivana que tal, me gustaria hacer una consulta, con respecto a los repositorios.
    En algunos casos, se crean interfaces extras al repositorio que extiende de Jpa por ej, en donde se declaran metodos que tengan que ver con la logica, como por ejemplo el Login.
    Estaria mal tener los metodos relacionados al crud en la interfaz que extendes de Jpa, pero tambien tener una interfaz donde declaras metodos solo relacionados a la logica del negocio?
    Y en todo caso, esta bien implementar los metodos de la logica del negocio en la misma donde implementas los cruds, es decir, la que extiende de Jpa?

  • @diegogigena6350
    @diegogigena6350 Рік тому +1

    La estructura de las anotaciones son heredadas de : @component(service,entity, repository)?
    O sea en vez de ponele @service le podría poner @component no? Pero obvio service es más gráfico no?

    • @irojascorsico
      @irojascorsico  Рік тому +2

      Exacto! Ayuda a que tu código fuente sea más limpio. Abrazo!

  • @miguel-yw9uf
    @miguel-yw9uf 5 місяців тому

    excelente explicación.

  • @LorenRuizG
    @LorenRuizG 6 місяців тому

    Da gusto como se explica

  • @rodrigoalave9323
    @rodrigoalave9323 Рік тому

    Excelente explicacion, muchas gracias.

  • @mariox7989
    @mariox7989 3 місяці тому

    Hola Ivana, una pregunta: como puedo trabajar agregando path context a los diversos servicios?

  • @codewithomardev
    @codewithomardev 7 місяців тому

    Una consulta Ivana. Que libro o documentacion puedo utilizar para aprender todo esto? En especifico API REST con Spring Boot. Me descargue varios libros pero siento que es muy diferente a esto

  • @EDWINYONER
    @EDWINYONER 3 місяці тому

    Que arquitectura se usa en este ejemplo?

  • @jedionmelbin
    @jedionmelbin 9 місяців тому +1

    Buenas tardes, puedes hacer tutoriales authenticacion con spring de back end, front angular ocid google, apple

  • @HackZ2266
    @HackZ2266 11 місяців тому

    excelente explicacion!!!

  • @hebe_lia
    @hebe_lia 2 роки тому +1

    hola profe, tenes algun material donde ese explicado como se realiza el login por jwt? es algo que quiero implementar pero todos los lugares que veo tienen errores

    • @irojascorsico
      @irojascorsico  2 роки тому +3

      Ok, les preparo una serie de videos frontend + backend para implementar la autenticación basada en jwt a la vuelta de mis vacaciones! Abrazo

  • @rickhunter8216
    @rickhunter8216 Рік тому +1

    PROFE, ¿OSEA EN LOS ENDPOINT DEL CONTROLADOR, LO QUE SE DEBE RETORNAR EN LOS METODOS ES EL OBJETO DTO Y NO EL OBJETO DE LA ENTIDAD?. ¿ESO ES POR BUENAS PRACTICAS?

    • @irojascorsico
      @irojascorsico  Рік тому +3

      Hola Rick, utilizar DTOs se considera una buena práctica en muchos casos dado que:
      - Optimiza la transferencia de datos. Reducir la cantidad de datos a transferir en base a lo que necesita frontend o la aplicación cliente mejora el rendimiento.
      - Protege los objetos del dominio. Utilizar DTOs evita exponer directamente los objetos de dominio y/o las entidades de la base de datos al frontend o aplicación cliente.
      - Pertime un control sobre los datos transferidos.
      Utilizar DTOs permite omitir información sensible o innecesaria para el frontend o app cliente, como password o datos adicionales de las entidades.
      - Entre otras ventajas.
      Sin embargo, es importante también tener algunas consideraciones antes de utilizarlos como por ej.:
      - El uso de DTOs puede requerir la creación de clases adicionales y la implementación de mapeos entre los objetos de dominio y los DTOs. lo que puede aumentar la complejidad y el tiempo de desarrollo y mantenimiento.
      Por ello, es importante siempre no tomar decisiones apresuradas y evaluar el contexto del proyecto considerando los beneficios y los posibles impactos para tomar decisiones acertadas con bases fundamentadas.
      Abrazo! Ivana

    • @eduardogz1422
      @eduardogz1422 9 місяців тому

      ​@@irojascorsicoYo tengo una pregunta, cuando se usa DTO y cuando no

  • @todounpoco1611
    @todounpoco1611 6 місяців тому

    Eres mas grande wue messi muchas gracias

  • @leandrogutierrez773
    @leandrogutierrez773 5 місяців тому

    Ivana , gracias por el tutorial , podriamos tener el repo del codigo?

  • @biancahoffmann2489
    @biancahoffmann2489 Рік тому

    me gusto mucho el video, me acostumbre a hacerlo mas con dto porque asi lo hacia con typescript 🤣 tendras algun video con arquitectura limpia?

    • @irojascorsico
      @irojascorsico  11 місяців тому

      Hola Bianca, no sé si comprendí tu consulta... un Dto es un objeto que se utiliza para transferir los datos y la arquitectura se refiere al diseño de la aplicación (en capas). Si hablamos de arquitectura limpia, hay varios puntos a tener en cuenta dependiendo el modelo de negocio que quieras desarrollar.

  • @alejandrocastano5763
    @alejandrocastano5763 5 місяців тому

    hola Ivana me preocupa que casi no subas mas contenido, hay alguna manera de aprender con tu metodologia fuera de youtube ?
    gracias por el contenido !!!!!!

    • @irojascorsico
      @irojascorsico  5 місяців тому +1

      Hola Alenjandro. Estoy con muchísimo trabajo, creo que por 1 mes más no podré subir contenido pero no me he olvidado!! Ni bien me desocupe estoy de nuevo!! Respecto a aprender fuera de youtube tengo un proyecto pensado de esas características, quizas para inicios del año que viene. Desde 0. Para aprender Angular o Spring Boot (aún no decido). Seguramente les estaré consultando :P

  • @luisgonzales9937
    @luisgonzales9937 6 місяців тому

    que tema de apariencia usas, me gusta

  • @juanmario6583
    @juanmario6583 Рік тому

    Muy buen video muchas graciasss. Una pregunta, en caso de querer traer todos las personas en una List, despues para pasarlos a una List personaDTO debo hacer un foreach? Seria una buena practica no?

    • @irojascorsico
      @irojascorsico  Рік тому

      Hola @juanmario6583, si deseas traer un arreglo de personasDTO, un foreach quizás no sea lo más eficiente. En su lugar puedes utilizar listas genéricas, la API de Stream o bien, la librería ModelMapper link: modelmapper.org/
      Abrazo!

  • @agustindolimpio
    @agustindolimpio Рік тому

    ⁠​​⁠hola profe, una pregunta, las response entities las devuelvo en los servicios o en los controladores y si es obligatorio usarlos en el mundo laboral, muchas gracias 😊

    • @irojascorsico
      @irojascorsico  Рік тому +1

      Hola Agustín,
      Por lo general, las response entities se devuelven en los controladores dado que éstos son los responsables de recibir las peticiones HTTP y enviar las respuestas dado que permiten tener un mayor control sobre el formato de la respuesta que se envía al cliente. En cuanto a los servicios, éstos encapsulan la lógica de negocio de la aplicación y se encargan de interactuar con las entidades y repositorios para realizar las operaciones necesarias. Por ende, es una buena práctica que los servicios devuelvan objetos que representen el resultado de la operación realizada y luego, los controladores, pueden utilizar esta información para construir los response entities y envair la respuesta al cliente.
      Respecto al mundo laboral el uso de response entities en los controladores no es obligatorio, aunque es importante mencionar que son una buena práctica dado que mejoran la estructura, la legibildad del código y facilita el manejo de errores.
      Saludos!
      Ivana

  • @yeissonvl
    @yeissonvl Рік тому

    porque sale publicidad de hasbro y mattel.

    • @irojascorsico
      @irojascorsico  Рік тому +3

      Vaya uno a saber ja.. entiendo que lo maneja youtube.

  • @estivenliscano4820
    @estivenliscano4820 10 місяців тому

    que nivel de video

  • @danielcardenas4879
    @danielcardenas4879 Рік тому +1

    gracias jaja ando entendiendo pero siempre hago algo o me salen errores que nunca eh visto bueno cada paso aprendo mas aunque ya se me esta acabando el tiempo

    • @irojascorsico
      @irojascorsico  Рік тому

      Hola Daniel, es normal cuando estás comenzando! Verás que a medida que avanzas, obtendrás más habilidades para detectar errores y sus soluciones. Saludos,

  • @aamb_c133
    @aamb_c133 Рік тому

    muchas gracias comprendí mejor como implementar los DTO
    Solo una pequeña consulta:
    Es recomendable tener los DTO en un paquete aparte?

    • @irojascorsico
      @irojascorsico  11 місяців тому

      Hola @aamb_c133, si suele separarse en un paquete aparate por las siguientes cuestiones:
      - siempre es recomendable mantener separada los detalles de transferencia de datos de los detalles de persistencia.
      - al estar separados, los dtos pueden reusarse.
      - si el modelo de datos cambia, no necesariamente tendremos que modificar los dtos... es decir que, todo será igual para la app cliente.
      Sin embargo, en algunos casos, puede ser más conveniente mantenerlos juntos. Por ejemplo, si el DTO deriva de una entidad puede ser más fácil y eficiente mantener ambos en el mismo paquete. Esto hace el código más fácil de leer y entender. Si mantienes los DTOs en un paquete separado, tendrás que navegar constantemente entre dos paquetes diferentes, lo que puede ralentizar tu trabajo.
      Abrazo

  • @yovanies2798
    @yovanies2798 11 місяців тому

    eh hubiera sido genial que creas el proyecto desde cero y realices los paso a paso de codificar. crear los paquetes, clases, servicios, etc.

    • @irojascorsico
      @irojascorsico  11 місяців тому +1

      Hola @yovanies2798, si claro.. este fue un primer video que realicé para mis estudiantes. Puedes ver el siguiente video dónde explico la arquitectura de una API Rest (aunque con VSCode). Abrazo

  • @walterr8417
    @walterr8417 2 роки тому

    Hola profe, soy alumno de argentinaprograma. Estoy desde el domingo con un problema y las ayudas que recibí via el foro del grupo no pudo solucionar mi problema.
    El ejecutable que me genera netbeans, como así tambien el que realizo desde consola con mvnw me arroja un mensaje de error "cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.portfolio.SpringBoot.Application]
    2023-01-14T10:43:33.445-03:00 ERROR 11324 --- [ main] o.s.boot.SpringApplication : Application run failed", con lo cual en el despliegue me dice exactamente lo mismo.
    Sin embargo (y ahi está lo que yo veo como raro!) el proyecto desde netbeans corre como localhost perfectamente incluso usando la DB ya desplegada. Es decir si hago el "run main project" anda perfecto.. Además del tema de los path's del setting del proyecto, del que todas las clases esten dentro del package springboot, de haber ejecutado desde consola mvnw clean, mvnw install, mvnw compile, mvnw package.. y rezar.... que mas debo hacer?

    • @irojascorsico
      @irojascorsico  2 роки тому

      Hola Walter ¿pudiste resolver?
      - En relación a la excepción BeanDefinitionStoreException, te dejo unos links que pueden ayudarte: stackoverflow.com/questions/35070455/springboot-beandefinitionstoreexception-failed-to-parse-configuration-class y www.baeldung.com/spring-beandefinitionstoreexception
      Por otro lado, si estás intentando realizar el despliegue con render/docker, te invito a mirar el siguiente video: ua-cam.com/video/ExtjIZIq1C0/v-deo.html

    • @walterr8417
      @walterr8417 Рік тому

      @@irojascorsico, Hola, disculpame que no reaccione antes, pero estaba de vacaciones. La verdad no pude resolverlo y ahora me encuentro en el grupo de alumnos con la extensión de 60 días. Gracias por tus links, los voy a ver y luego te cuento.
      Por otro lado, gracias por compartir tan claramente tus conocimientos.

    • @walterr8417
      @walterr8417 Рік тому +1

      Hola Ivana, muchas gracias por tu recomendación, si bien mi caso no era el mismo problema (package) lo pude resolver. Al analizar la estructura de las carpetas y archivos, me llamó la atención que tenia muchos niveles, pero esos niveles no los veía en netbeans, hice la prueba de subir un nivel todos los archivos java con mis clases y pese a refactorizarlo el IDE me daba errores por todos lados, lo cerré, y desde consola y con maven limpie cache, reinstalé dependencias, compilé y empaqueté... ahora con java -jar target/SpringBoot-0.0.1-SNAPSHOT.jar corre perfectamente directamente de consola, con lo cual si eso lo actualizo en mi github, seguramente el despliegue del backend funcionaría.

    • @irojascorsico
      @irojascorsico  Рік тому

      @@walterr8417 Gracias por compartir cómo lo resolviste!!

  • @Julian-yv1fq
    @Julian-yv1fq Рік тому +1

    excelente video :D