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

Поделиться
HTML-код
  • Опубликовано: 29 янв 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.

  • @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

  • @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.

  • @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

  • @ronaldsammismoranonato1827
    @ronaldsammismoranonato1827 5 месяцев назад +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!

  • @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.

  • @juandiegochoccnagarcia5686
    @juandiegochoccnagarcia5686 Год назад +2

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

  • @agustindolimpio
    @agustindolimpio Год назад +2

    Buenisimo video, Justo lo que estaba buscando! Muchas gracias

  • @TecnoTubeTutorials
    @TecnoTubeTutorials 9 месяцев назад +1

    Excelente calidad de tus tutoriales!

  • @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

  • @alejocastle2796
    @alejocastle2796 8 месяцев назад +2

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

  • @noel1711
    @noel1711 Год назад

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

    • @irojascorsico
      @irojascorsico  Год назад +1

      Muchísimas gracias @noel1711. Abrazo!

  • @juancamiloarenasflorez8841
    @juancamiloarenasflorez8841 6 месяцев назад +1

    Muchas gracias, en verdad he aprendido bastante contigo!

  • @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.

  • @jamestellez2339
    @jamestellez2339 4 месяца назад

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

  • @BrattScorsa
    @BrattScorsa Год назад +2

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

  • @sebastianacosta4677
    @sebastianacosta4677 Год назад +1

    Has ganado un nuevo Subscriptor

  • @KimMiHee
    @KimMiHee Год назад +2

    gracias ivana te quiero mucho

  • @elvisalmonte3060
    @elvisalmonte3060 Год назад +2

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

  • @alanalbertoromerotapia6769
    @alanalbertoromerotapia6769 Год назад +1

    Muy buena al explicar, gracias !

  • @f.m.agemmaluk
    @f.m.agemmaluk Год назад +2

    Excelente video :)

  • @AtomWR1
    @AtomWR1 Год назад +2

    Excelente! DTO en 29:40

  • @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!

  • @mayorajesus182
    @mayorajesus182 Год назад +1

    Muchas gracias!!. Explicas muy bien .

  • @federicomelo1293
    @federicomelo1293 Год назад +1

    Excelente video, muy completo

  • @carlosengui9645
    @carlosengui9645 10 месяцев назад

    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!

  • @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?

  • @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

  • @miguel-yw9uf
    @miguel-yw9uf 5 месяцев назад

    excelente explicación.

  • @emmanuelcajasballesteros6409
    @emmanuelcajasballesteros6409 Год назад +1

    gracias por la explicaxion, muy claro todo

  • @LorenRuizG
    @LorenRuizG 6 месяцев назад

    Da gusto como se explica

  • @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!

  • @mariox7989
    @mariox7989 4 месяца назад

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

  • @codewithomardev
    @codewithomardev 8 месяцев назад

    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

  • @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

  • @adcmo9ifly
    @adcmo9ifly Год назад +2

    Gracias ❤

  • @jedionmelbin
    @jedionmelbin 9 месяцев назад +1

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

  • @rodrigoalave9323
    @rodrigoalave9323 Год назад

    Excelente explicacion, muchas gracias.

  • @sabrinatecherasosa
    @sabrinatecherasosa Год назад +2

    muy bueno asi lo usamos en el trabajo real

  • @leandrogutierrez773
    @leandrogutierrez773 5 месяцев назад

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

  • @HackZ2266
    @HackZ2266 11 месяцев назад

    excelente explicacion!!!

  • @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  Год назад

      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.

  • @EDWINYONER
    @EDWINYONER 3 месяца назад

    Que arquitectura se usa en este ejemplo?

  • @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!

  • @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

  • @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

  • @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  Год назад

      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

  • @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

  • @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,

  • @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

  • @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

  • @yovanies2798
    @yovanies2798 Год назад

    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  Год назад +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: ruclips.net/video/ExtjIZIq1C0/видео.html

    • @walterr8417
      @walterr8417 2 года назад

      @@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 2 года назад +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  2 года назад

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

  • @Julian-yv1fq
    @Julian-yv1fq Год назад +1

    excelente video :D