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

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 96

  • @FabricioW69
    @FabricioW69 4 หลายเดือนก่อน +3

    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.

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

  • @fredysanabria4417
    @fredysanabria4417 7 หลายเดือนก่อน

    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

    • @irojascorsico
      @irojascorsico  7 หลายเดือนก่อน

      Muchas gracias!!

  • @juandiegochoccnagarcia5686
    @juandiegochoccnagarcia5686 ปีที่แล้ว +2

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

  • @nestor-162
    @nestor-162 7 หลายเดือนก่อน

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

  • @springprogramming
    @springprogramming 11 หลายเดือนก่อน +2

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

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

  • @andresmarolt7510
    @andresmarolt7510 ปีที่แล้ว +2

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

  • @alejocastle2796
    @alejocastle2796 5 หลายเดือนก่อน +2

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

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

  • @jamestellez2339
    @jamestellez2339 2 หลายเดือนก่อน

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

  • @ronaldsammismoranonato1827
    @ronaldsammismoranonato1827 2 หลายเดือนก่อน

    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.

  • @agustindolimpio
    @agustindolimpio ปีที่แล้ว +2

    Buenisimo video, Justo lo que estaba buscando! Muchas gracias

  • @noel1711
    @noel1711 10 หลายเดือนก่อน

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

    • @irojascorsico
      @irojascorsico  9 หลายเดือนก่อน +1

      Muchísimas gracias @noel1711. Abrazo!

  • @cintianecol4968
    @cintianecol4968 ปีที่แล้ว +2

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

    • @irojascorsico
      @irojascorsico  ปีที่แล้ว +1

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

  • @elvisalmonte3060
    @elvisalmonte3060 ปีที่แล้ว +2

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

  • @juancamiloarenasflorez8841
    @juancamiloarenasflorez8841 3 หลายเดือนก่อน +1

    Muchas gracias, en verdad he aprendido bastante contigo!

  • @BrattScorsa
    @BrattScorsa ปีที่แล้ว +2

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

  • @TecnoTubeTutorials
    @TecnoTubeTutorials 7 หลายเดือนก่อน +1

    Excelente calidad de tus tutoriales!

  • @alanalbertoromerotapia6769
    @alanalbertoromerotapia6769 ปีที่แล้ว +1

    Muy buena al explicar, gracias !

  • @emmanuelcajasballesteros6409
    @emmanuelcajasballesteros6409 ปีที่แล้ว +1

    gracias por la explicaxion, muy claro todo

  • @mayorajesus182
    @mayorajesus182 ปีที่แล้ว +1

    Muchas gracias!!. Explicas muy bien .

    • @irojascorsico
      @irojascorsico  11 หลายเดือนก่อน

      Hola, muchas gracias

  • @AtomWR1
    @AtomWR1 ปีที่แล้ว +2

    Excelente! DTO en 29:40

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

  • @rodrigoalave9323
    @rodrigoalave9323 9 หลายเดือนก่อน

    Excelente explicacion, muchas gracias.

  • @federicomelo1293
    @federicomelo1293 ปีที่แล้ว +1

    Excelente video, muy completo

  • @KimMiHee
    @KimMiHee ปีที่แล้ว +2

    gracias ivana te quiero mucho

  • @trianagonzalez5077
    @trianagonzalez5077 8 หลายเดือนก่อน

    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  8 หลายเดือนก่อน

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

  • @miguel-yw9uf
    @miguel-yw9uf 3 หลายเดือนก่อน

    excelente explicación.

  • @carlosengui9645
    @carlosengui9645 7 หลายเดือนก่อน

    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  7 หลายเดือนก่อน

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

  • @LorenRuizG
    @LorenRuizG 4 หลายเดือนก่อน

    Da gusto como se explica

  • @sebastianacosta4677
    @sebastianacosta4677 ปีที่แล้ว +1

    Has ganado un nuevo Subscriptor

  • @f.m.agemmaluk
    @f.m.agemmaluk ปีที่แล้ว +2

    Excelente video :)

  • @adcmo9ifly
    @adcmo9ifly ปีที่แล้ว +2

    Gracias ❤

  • @HackZ2266
    @HackZ2266 9 หลายเดือนก่อน

    excelente explicacion!!!

    • @irojascorsico
      @irojascorsico  9 หลายเดือนก่อน

      Hola, muchas gracias!!

  • @sabrinatecherasosa
    @sabrinatecherasosa ปีที่แล้ว +2

    muy bueno asi lo usamos en el trabajo real

  • @nicolasgarcia253
    @nicolasgarcia253 6 หลายเดือนก่อน

    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?

  • @juanmario6583
    @juanmario6583 11 หลายเดือนก่อน

    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  11 หลายเดือนก่อน

      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!

  • @codewithomardev
    @codewithomardev 5 หลายเดือนก่อน

    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

  • @diegogigena6350
    @diegogigena6350 10 หลายเดือนก่อน +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  10 หลายเดือนก่อน +2

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

  • @biancahoffmann2489
    @biancahoffmann2489 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน

      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.

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

  • @todounpoco1611
    @todounpoco1611 4 หลายเดือนก่อน

    Eres mas grande wue messi muchas gracias

  • @aamb_c133
    @aamb_c133 9 หลายเดือนก่อน

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

    • @irojascorsico
      @irojascorsico  9 หลายเดือนก่อน

      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

  • @mariox7989
    @mariox7989 หลายเดือนก่อน

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

  • @jedionmelbin
    @jedionmelbin 6 หลายเดือนก่อน +1

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

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

  • @leandrogutierrez773
    @leandrogutierrez773 3 หลายเดือนก่อน

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

  • @EDWINYONER
    @EDWINYONER หลายเดือนก่อน

    Que arquitectura se usa en este ejemplo?

  • @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 6 หลายเดือนก่อน

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

  • @alejandrocastano5763
    @alejandrocastano5763 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน +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 4 หลายเดือนก่อน

    que tema de apariencia usas, me gusta

  • @estivenliscano4820
    @estivenliscano4820 7 หลายเดือนก่อน

    que nivel de video

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

  • @hebe_lia
    @hebe_lia ปีที่แล้ว +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  ปีที่แล้ว +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 11 หลายเดือนก่อน

    porque sale publicidad de hasbro y mattel.

    • @irojascorsico
      @irojascorsico  11 หลายเดือนก่อน +3

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

  • @yovanies2798
    @yovanies2798 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน +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 ปีที่แล้ว

    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  ปีที่แล้ว

      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: th-cam.com/video/ExtjIZIq1C0/w-d-xo.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