🟠👨🏻‍💻 DESARROLLO DE API REST CON JAVA (SPRING BOOT) | ♻️ CRUD MYSQL COMPLETO

Поделиться
HTML-код
  • Опубликовано: 9 сен 2024
  • 👉🏻 En este vídeo realizaremos una api rest utilizando Spring, el framework de Java mas usado del mundo. Para ello realizaremos un crud completo con una base de datos de MySQL.
    -----------------
    🤓 MIS CURSOS 100% GRATUITOS:
    🔴 CURSO COMPLETO DE HTML5: • 🔴 CURSO COMPLETO DE HT...
    🔵 CURSO COMPLETO DE CSS3: • 🔵 CURSO COMPLETO DE CS...
    🟡 CURSO COMPLETO DE JAVASCRIPT: • 🟡 CURSO COMPLETO DE JA...
    👨🏻‍💻 CURSO DE SQL / MYSQL: • 👨🏻‍💻 CURSO DE SQL / MY...
    -----------------
    💬 MIS REDES SOCIALES:
    🕊 TWITTER: / d_espanadero
    📸 INSTAGRAM: / danielespanadero
    ☕️ GITHUB: github.com/Dan...
    🖇 LINKEDIN: / daniel-espanadero
    Creado por Daniel Españadero Fernández

Комментарии • 235

  • @leonardo8365
    @leonardo8365 Год назад +65

    Hola amigo gracias por el video, solo mencionar un ajuste para los que hayan tenido el mismo error: con el método Update que es justamente el que no probaste jaja, este medio problemas asique ahí me cranee la cabeza para ver que sucedía ya que estoy aprendiendo, y bueno di con la siguiente solución.
    Probando la aplicación me di cuenta que en el método update no cumplía su función ya que en al controlador le faltaba el @PathVariable, luego de este cambio la solicitud me devolvía un 200 pero al listar me daba cuenta que la información no había sido guardada, ósea el objeto no había sido actualizado, asique volví al service y me di cuenta que al final del método faltaba usar el método save del repositorio para que se guardaran estos cambios que se habían realizado.
    Finalmente el update del service quedo asi:
    public UserModel updateByID(UserModel request, Long id ){
    UserModel userModel = userRepository.findById(id).get();
    userModel.setName(request.getName());
    userModel.setLastName(request.getLastName());
    userModel.setEmail(request.getEmail());
    userRepository.save(userModel);
    return userModel;
    }
    Luego el controlador asi:
    @PutMapping(path = "{id}")
    public UserModel updateUserById(@RequestBody UserModel request ,@PathVariable Long id){
    return this.userService.updateByID(request, id);
    }.
    Tras finalizar con estos pequeños cambios el crud por fin funcionaba ok.
    De igual forma si el error era otra cosa que aun no veo por mi poca experiencia háganmelo saber :)

    • @danielespanadero
      @danielespanadero  Год назад +26

      Muy buenas Leonardo, muchas gracias por tomarte el tiempo de compartir tu solución y experiencia con el método Update. Me alegra saber que pudiste resolver el problema y que estás aprendiendo en el proceso. Tu aporte es valioso y estoy seguro de que ayudará a otros que puedan enfrentarse a la misma situación, mil disculpas por el error, soy consciente de que a veces me enrrollo mucho hablando y por eso procuro tomar consciencia de no alargar los vídeos más de la cuenta, en este caso al no realizar la comprobación no caí en la cuenta de que no estaba correcto, aun así estoy muy orgulloso de que hayas sido capaz de resolverlo, al fin y al cabo en esto consiste la programación, resolver problemas.
      Voy a fijar tu comentario en la sección de comentarios del video para que otros puedan encontrar fácilmente tu aporte y aplicar la solución que proporcionaste en caso de que se encuentren con el mismo error.
      De nuevo, gracias por tu contribución y no dudes en seguir compartiendo tus descubrimientos y aprendizajes en futuros videos. ¡Sigamos creciendo y aprendiendo juntos! Un fuerte abrazo!!!! 😊

    • @leonardo8365
      @leonardo8365 Год назад +3

      @@danielespanadero de nada muchas gracias a ti por compartir tus conocimientos !

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

      gracias asmigo, me sirvió tu aporte del update.

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

      Excelente Leonardo gracias

    • @carlosricardovertiz
      @carlosricardovertiz 8 месяцев назад +1

      te amo, ya decia yo jajaja gracias colega ;)

  • @user-hf7pe9hi2h
    @user-hf7pe9hi2h 9 месяцев назад +10

    De lo mejor, Los mejores 50 minutos para aprender! muchas gracias y sigue con más videos de spring y esperando la union con angular!

    • @danielespanadero
      @danielespanadero  9 месяцев назад +2

      Llegará, de hecho tengo pensado para el año que viene empezar a hacer directos y, entre otras cosas, un proyecto completo con los que os vayais pasando. Allí te espero. (Es posible que antes haga un vídeo de como hacerlo). Un saludo.

  • @guille2606
    @guille2606 26 дней назад +2

    Lo pude terminar amigo! Eres un genio, Saludos desde Argentina!

    • @danielespanadero
      @danielespanadero  22 дня назад +1

      Me alegro mucho de que te haya funcionado!! Es un honor leer que es de ayuda este material. Un fuerte abrazo desde Barcelona, España. 🙂

  • @gTosca_666
    @gTosca_666 Год назад +5

    Este tuto es uno de los mejores en español, simplemente por que organiza muy bien los paquetes y explicas muy bien los componentes de la aplicación, F E L I C I D A D E S colega y gracias. Me pude hacer un end point funcional con OpenJDK 15, Springboot y MySQL. Saludos desde 🇲🇽

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

      WOW!! Muchas gracias por tu comentario, sube bastante el ánimo y la motivación para seguir creando este tipo de contenido. En principio, lo que muestro aquí es completamente funcional a la hora de usar OpenJDK 15. En este caso he utilizado Java 8 por que es lo que utilizo en mi trabajo, pero he realizado el CRUD exactamente igual usando Java 20 y ha funcionado sin ningún problema. Un fuerte abrazo!

  • @iLuliBest
    @iLuliBest Год назад +4

    Hoy tuve una entrevista laboral y hacía rato que no tocaba Spring Boot por proyectos del trabajo, por lo que anoche y esta mañana practiqué con tu video y me fue súper útil para refrescar conceptos 😄
    Ahí va la sub, muchas gracias Daniel!

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

      ¡Muchas gracias por tu comentario LuRdrigz! No tienes idea de cuánto me alegra leer que el video te ayudó a prepararte para tu entrevista laboral. Ese es precisamente el objetivo, ofrecer una herramienta útil para refrescar conceptos y mantenerse al día con Spring Boot. Estoy realmente agradecido por tu suscripción y apoyo. Si tienes alguna otra área o concepto sobre el que te gustaría que haga un video, no dudes en decírmelo. Un fuerte abrazo! 🤘🏻

  • @frandlrg1848
    @frandlrg1848 4 месяца назад +2

    Buen tutorial la verdad, mis dieces, no necesito spring boot para nada, lo estoy aprendiendo por conocimiento y me sirvió mucho

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

      Muchas gracias por tu comentario, Fran. Me alegro de que te haya sido de utilidad, nunca está demás aprender cosas nuevas. Un abrazo!

  • @davidduquemoreno3388
    @davidduquemoreno3388 25 дней назад +1

    Muchas gracias por el curso, fue de mucha ayuda, esta muy bien explicado todo

    • @danielespanadero
      @danielespanadero  22 дня назад +1

      Gracias a tí por comentar, David. No sabes lo util que es todo el feedback que recibo para motivarme a crear nuevos vídeos. Me alegra de que te haya sido de utilidad. Un fuerte abrazo! 🙂

  • @YouTics
    @YouTics 2 месяца назад +1

    Buen trabajo, muy simple y cumple su propósito didáctico, gracias

    • @danielespanadero
      @danielespanadero  2 месяца назад

      Muchas gracias por tus palabras, un abrazo! 😎🙌🏻

  • @rreyespardo
    @rreyespardo 6 месяцев назад +2

    Hola, Gracias por el tutorial, muy claro! 👍 Excelente, no tenía conocimientos previos en Java y todo me funcionó

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

      Muchas gracias por tu comentario. Es un honor haber leido tus palabras y, sobre todo, que el vídeo te haya ayudado. Un fuerte abrazo!

  • @educateprogramando
    @educateprogramando 4 месяца назад +1

    La programación es tan increíble, gracias por este aporte

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

      De nada, gracias a tí por tu comentario. Un fuerte abrazo! 🙂🤘🏻

  • @yerinsonmuentes553
    @yerinsonmuentes553 Месяц назад

    Excelente turorial quedo perfecto realmente me funcionaron 3 de los cuatro metodos ya que en el update falto un detalle que no comprendia el porque no se me guardaban los datos al actualizarlos usando el postman, investigue un poco y habria que agregar en el return del update el save de esta manera => return userRepository.save(user); para que se guardaen los datos que se estan actualizando. Aun asi del resto de verdad aprendi muchisimo muchas gracias por este tutorial...

  • @MiyamotoMusashi_004
    @MiyamotoMusashi_004 Год назад +5

    Tu primer video que veo y me gusto mucho tu manera de enseñar detalle a detalle 😃 sigue asi campeón!!

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

      Muchas gracias, CR. Creo que es importante poner foco en los detalles ya que quien está aprendiendo necesita entender el porqué de las cosas (O así es como me lo tomo yo). Te invito a suscribirte al canal para no perderte nada de lo que vaya subiendo. Un fuerte abrazo! 🙂

  • @noesax5877
    @noesax5877 3 месяца назад +1

    Lo acabo de ver y me gustó bastante la manera de explicarlo, muy buen video, me ayudó a recordar conceptos 👍

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

      Muchas gracias por tus palabras, me alegro de que te haya servido. Un abrazo! 😎🤘🏻

  • @alonseno6282
    @alonseno6282 Месяц назад +2

    Me ayudo muchisimo gracias, tuve errores pero los logre solucionar

    • @danielespanadero
      @danielespanadero  Месяц назад

      Esa es la clave de la programación. Muchas gracias por tus palabras. Un fuerte abrazo! 🙌🏻🙌🏻🙌🏻

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

    Estaba buscando plata y termnine encontrando ORO, amigo muchas gracias

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

      Muchas gracias a tí por comentar, un abrazo y me alegro de que te haya servido! 🙌🏻🙂

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

    Madre mia Dif, no entiendo nada de lo que dices en el primer minuto!!!!!! Eres grande, sigue así que siempre lograrás lo que te propongas 👍🏻

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

      Muchas gracias por tu comentario Nacho! La verdad es que hace un año decidí hacer un cambio en mi vida a nivel profesional y la verdad es que ha sido un buen cambio. 😁

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

    Muy buen tutorial, lo segui todo y funciona perfecto, muy claro como explicas, gracias por compartir. Un saludo.

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

      Muchas gracias por tus palabras, me animan mucho y me motivan a seguir creando este tipo de contenido. Un fuerte abrazo!

  • @vsoton
    @vsoton 10 месяцев назад +2

    Muchas gracias por el tutorial, esta muy bueno, muy didáctico. saludos.

    • @danielespanadero
      @danielespanadero  10 месяцев назад +1

      Muchas gracias a tí por el comentario y me alegro mucho de que te haya servido, un fuerte abrazo!

  • @scerons
    @scerons 4 месяца назад +1

    Muchas gracias por compartir el contenido. Resulta muy útil como introducción rápida.
    Quería hacer un apunte constructivo sobre un par de términos que se usan mucho:
    - private: se pronunciaría _praivit_.
    - public: se pronunciaría _pablic_.
    Somos hispanohablantes y no tenemos por qué saberlo pero no está de más dado que se usa tanto.
    Una sugerencia para las clases de los modelos es emplear Lombok para, mediante anotaciones, generar automáticamente los constructores, getters, setters...
    De nuevo, buen aporte. Gracias

    • @danielespanadero
      @danielespanadero  4 месяца назад +1

      Muchas gracias por el aporte, me tengo que poner las pilas con el inglés. 😅
      El tema de lombok, no he conseguido que vaya en mi pc y tampoco he querido dedicarle mucho tiempo a mirar por qué pasa... Aunque en cuanto pueda me pondré a ello.
      De nuevo, gracias por el aporte. Un fuerte abrazo! 🤘🏻

  • @nachiro_dev
    @nachiro_dev 4 месяца назад +1

    Muchas gracias por el tremendo aporte

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

      Muchas gracias por tu comentario. Pues sí que me gustaría hacer algo con Java y Angular. En cuanto saque un rato me pongo a ello. Un abrazo! 😁🤘🏻

  • @GustavoPOW4
    @GustavoPOW4 5 месяцев назад +1

    Quiero ese perrito en la barra de loading :3 jaja, buen video gracies.

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

      Hace tiempo que no lo tengo, pero creo recordar que es de una extensión llamada: Pokemon Progress
      Puedes configurar el pokemon que quieres que te aparezca. Un saludo.

  • @user-bo7jb9wl9b
    @user-bo7jb9wl9b 6 месяцев назад +2

    mi amigo miquel te manda saludos! gran video!

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

      Un grande Miquel! Muchas gracias por tu comentario. Un fuerte abrazo y espero que te haya servido. 🙂

  • @angelmejiac3398
    @angelmejiac3398 2 месяца назад +2

    buen video en algunas partes del video no se logra ver completo la linea de codigo por el circulo de la cara. por ejemplo el Putmapping no se ve completo. seria bueno que cuando este terminado el codigo dar un repaso a los archivos para que podamos verificar que tenemos lo mismo

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

    Me sirvió mucho, saludos desde Colombia.

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

      Muchas gracias por tu comentario. Un saludo desde España. 🙂

  • @Dev.junior2024
    @Dev.junior2024 Год назад +2

    Excelente video, directo a los bifes y claro, ganaste un sub

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

      Muchísimas gracias Juan Manuel!! Un abrazo! 🙌🏻

  • @ReitanSora
    @ReitanSora 2 месяца назад +1

    Gran video, me ayudó muchísimo!

    • @danielespanadero
      @danielespanadero  2 месяца назад

      Muchas gracias, me alegro mucho de que te haya ayudado! Un abrazo! 🙌🏻🙌🏻

  • @davidl6797
    @davidl6797 11 месяцев назад +1

    Hola amigo, muchas gracias por compartir conocimientos!
    Saludos desde Mexico ✌

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

      Muchas gracias por tu comentario, David.
      Saludos desde Barcelona, España 🙌

  • @bernardoroyo9071
    @bernardoroyo9071 10 месяцев назад +2

    Excelente video , una pequeña recomendación por ahí achicar o correr un poquito tu cámara , por que en muchas veces tapa las lineas de código que vas tirando sobre la derecha y como que tuve que esperar que adelantes el código para poder verlo cuando scrolleabas para arriba , pero muy buen video , gracias !!.

    • @danielespanadero
      @danielespanadero  9 месяцев назад +3

      Muchas gracias por tu comentario, en siguientes vídeos lo estoy teniendo en cuenta y voy realizando cambios de cámara para que se pueda ver todo el codigo. Mil disculpas por las molestias ocasionadas en ese sentido y espero seguir viendote en futuros videos. Un abrazo!

  • @zohanrow
    @zohanrow 5 месяцев назад +1

    Pufff bro, excelente tutorial! Me sirvió bastante 🎉

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

      Muchas gracias, me alegro de que te haya servido. Si te surge cualquier duda o quieres que haga un vídeo sobre lo que sea, se aceptan sugerencias y, si lo conozco y puedo, lo haré.
      Un saludo 🙂🤘🏻

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

    Eres un genio, gracias por tus videos aprendo mucho, Saludos!

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

      Muchas gracias por tu comentario, Fabian. Me alegra mucho que aprendas con mis vídeos. Si en cualquier momento te surge alguna duda, no tengas reparo en comentar. Estoy aquí para ayudar. Un fuerte abrazo!

  • @alejandrogutierrezmora7779
    @alejandrogutierrezmora7779 Месяц назад +1

    Hombre, que buen video

    • @danielespanadero
      @danielespanadero  8 дней назад +1

      Muchas gracias Alejandro. No sabes lo que me sube el ánimo leer comentarios como el tuyo. Un abrazo!

  • @user-zu3uv9co4f
    @user-zu3uv9co4f 8 месяцев назад +2

    Muy buena explicacion se nota tu compromiso por enseñar..... Solo una Observacion (que no tiene que ver con el tema). Pienso que el circulo donde esta tu imagen deberia estar del lado izquierdo de la pantalla

    • @danielespanadero
      @danielespanadero  7 месяцев назад

      Muy buenas, Aliskair. Muchas gracias por el comentario y por el consejo. Lo tendré en cuenta en futuras ocasiones. Un abrazo!

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

    que gran video hermano ando aprendiendo a usar springboot y springsecurity jajaj y yo para las clases uso lombok me ahorra muchisimo tiempo haciendo los modelos jaja y es genial

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

      Muchas gracias por tu comentario, Daniel. Pronto subiré un vídeo bastante completo sobre Spring Security, así que suscríbete al canal para no perdertelo. En cuanto saque tiempo lo grabo. Un fuerte abrazo!

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

    Increiblemente increíble.

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

    Genial, me ayudó mucho me gustaría otro tuto con El front Como conectarlo con un HTML, css, javascript, gracias por tu trabajo.

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

      Muchas gracias por tu comentario. Pues justamente tengo en el canal cursos de HTML, CSS y JavaScript donde enseño a realizar peticiones HTTP. Aun así me lo apunto para hacer un vídeo específico de eso. Un saludo.

  • @NestorMandela
    @NestorMandela 5 месяцев назад +1

    Incluso un absoluto novato en java como yo ha podido entender el 80-90% de lo explicado en el vídeo, así que mis más sinceras felicitaciones. Eso sí, como novato total, ni idea de cómo crear la base de datos (entiendo que con MySQLWorkbench) o qué es y cómo manejar/crear postman para poder testear la API. Si alguien puede señalarme el camino para aprender al respecto se lo agradecería 🙂

    • @danielespanadero
      @danielespanadero  4 месяца назад +1

      Muchas gracias por tu comentario. En cuanto a MySQL, tengo un vídeo que te puede ayudar:
      ruclips.net/video/Fh0eAzfvPTI/видео.html
      Espero que sea de tu agrado, un fuerte abrazo! 🙂

    • @VeronicaRamirez-ir9vp
      @VeronicaRamirez-ir9vp 2 месяца назад

      Hola ​@@danielespanaderodas clases puedo pagarte

  • @santiagotorres8680
    @santiagotorres8680 8 месяцев назад +1

    gracias por compartirnos tu conocimiento :D

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

      Muchas gracias a tí por comentar, Santiago. Un fuerte abrazo!

  • @riva9210
    @riva9210 27 дней назад +1

    un crack

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

    Excelente video!, muchas gracias

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

      ¡Hola Erick! ¡Mil gracias por tu comentario! Me pone súper contento saber que te gustó el video y te fue útil. Si tienes preguntas o sugerencias para futuros videos, no dudes en compartirlas. No olvides suscribirte al canal y activar la campanita para estar al tanto de más contenido genial. ¡Un fuerte abrazo y nos vemos en el próximo video! 😁🎉🚀

  • @joseantonioamayapostigo2542
    @joseantonioamayapostigo2542 Месяц назад +1

    bueno en el update con postman es donde hay problemas en lo demas va todo como la seda

  • @jao_0796
    @jao_0796 8 месяцев назад +1

    Muy buen video. Muchas gracias. Nuevo sub al canal.
    Saludos desde Argentina.

    • @danielespanadero
      @danielespanadero  7 месяцев назад

      Muchas gracias por la suscripción y por el comentario, Juan Agustín. Me alegro de que te hayas sumado a la familia. Un abrazo desde España.

  • @user-gn7fp2gq3o
    @user-gn7fp2gq3o Месяц назад +1

    Brutal en serio que tiepo de arquitectura estas usando no se si escuche mal pero pues no supe, pere Arquitectura de Capas

    • @danielespanadero
      @danielespanadero  28 дней назад

      Muchas gracias por tu comentario. La verdad es que no utilizo arquitectura de capas, en este caso, lo que estoy utilizando es MVC (Modelo Vista Controlador). Es una arquitectura que es bastante sencilla para empezar y que es fácil de comprender. Aunque si te animas, tengo un vídeo sobre Arquitectura Hexagonal que te ayudará a comprender cómo funcionan las arquitecturas por capas:
      ruclips.net/video/JD_ZL3Bnaog/видео.html
      Un abrazo!

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

    Gracias por el contenido bruh!!

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

      Gracias a ti por comentar, Santiago. Un fuerte abrazo! 🙂🙌🏻🙌🏻

  • @cesarvilafuji
    @cesarvilafuji 2 месяца назад +1

    hola hermano saludos desde venezuela.... gracias por los tutos son muy buenos y una pequeña cosa, la miniatura de tu cara podria ponerla mas pequeña o mas lejos de las lineas de texto hay momentos que tapas lo que escribes

    • @danielespanadero
      @danielespanadero  2 месяца назад

      Muchas gracias por tus palabras. Así lo haré en futuros vídeos, mil disculpas. Un abrazo desde Barcelona, España. 🙂🤘🏻

  • @carlosalberto-ev1be
    @carlosalberto-ev1be Год назад +2

    Excelente video, de vez en cuando el circulo que te enfoca tapaba el codigo pero muy buen aporte👍.

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

      Es algo que tengo en mente corregir en el futuro, he pensado incluso en no salir yo, pero se que a mucha gente le gusta ese trato mas personal. Lo que acabaré haciendo es ir cambiando el circulo de sitio. Me alegro mucho de que te haya gustado Carlos, cualquier duda no tengas reparo en comentarla por aquí. Un abrazo! 🙌🏻

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

      @@danielespanadero ES MEJOR HACER EL TUTORIAL CON TU VOZ, NO ES NECESARIO MOSTRARTE, ESO SE HACE MAYORMENTE CUANDO HACES UN STREAM DE GAMEPLAYS. 🙂

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

    amigo, super bueno⚙

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

      Muchas gracias Jhon!! Tu comentario me motiva para seguir creando contenido. Un abrazo!! 🙂🙌🏻

  • @DrxKillah
    @DrxKillah 11 месяцев назад +1

    Cojonudo video, en mi caso en lugar de MySQL he usado una H2 con su debida adaptacion respecto a llamar user al path jajaja, brutal seguire por este canal un buen tiempo

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

      Muchas gracias por tus palabras, no sabes lo que motiva leer este tipo de comentarios. Si tienes alguna sugerencia que crees que pueda ser interesante, no tengas reparo en comentar. Tengo varios vídeos en el tintero que quiero hacer como Spring Security o Java IO. Un fuerte abrazo!

  • @DSCamilo-Soft
    @DSCamilo-Soft 11 месяцев назад +1

    Excelente master, buenos conceptos, falto lo del probar los métodos Put y Delete desde Postman(Para agregar los parametros). Igualmente gracias por el conocimiento. Saludos

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

      Muchas gracias por tus palabras, Camilo. Tendré en cuenta para futuros vídeos probar todo lo que hago. Si necesitas ayuda con cualquier cosa, no tengas reparo en preguntar.
      Un abrazo!

  • @pepito7773
    @pepito7773 4 месяца назад +1

    Me sirve 🤑🤑🤙

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

      Me alegro Pepito. Gracias por comentar. Un abrazo! 🤑🤘🏻

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

    Muchas gracias

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

      Muchas gracias a tí por comentar Nicole, un abrazo! 🙌🏻

  • @elcanaldeflo
    @elcanaldeflo 2 месяца назад

    Hola, Muchas gracias, excelente video… solo me queda una duda
    Pude ver que la conexión a tu base de datos es local, pero aun así tus peticiones se demoran en responder (mas de lo que se debiera)
    ¿Este problema puede ser por java? ¿Tu computador?
    Te pregunto por qué justamente he visto algunos proyectos con java spring boot que presentan alguna lentitud (más de lo normal), por ejemplo lo comparo con nodejs y express y esas mismas request se demoran menos de 200 ml
    gracias y quedo atento

  • @LeoReyes.
    @LeoReyes. 9 месяцев назад +2

    Hola Disculpa por Molestar me prodrias decir que parte del codigo va en el minuto 41:12 Es que tu camara no deja ver lo que dices despues del with y se que va un + id; pero en la ejecucion del codigo me sale error en la linea, 'else' withou 'if' que es justamente ese min que no se ve el codigo si me puedes decir que decia ahi muchas Gracias y buen video me sirve bastante

    • @danielespanadero
      @danielespanadero  9 месяцев назад

      Muy buenas, al contrario, no es molestia. Fallo mio. Tiene pinta, según el mensaje que me comentas que es algo con el if, else. Mira a ver las aperturas y cierres de llaves. Algo parecido a esto:
      if(ok){
      } else{
      }
      Cualquier cosa me dices, y con lo que sea, pegame aquí esa parte del código y le hecho un vistazo. Un fuerte abrazo y muchas gracias por tu comentario.

  • @carloselias1642
    @carloselias1642 3 месяца назад +1

    excelente video bro, pero podrias enseñar como crear la base de datos manual ?, saludos.

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

      Muchas gracias por tu comentario, Carlos. Justamente tengo un vídeo sobre MySQL donde lo enseño a hacer todo de manera manual, espero que te sirva:
      ruclips.net/video/Fh0eAzfvPTI/видео.html
      Un abrazo! 😀🤘🏻

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

    Buen video!

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

    En que momento agrego la dependencia de MySQL en el pom.xml?

    • @danielespanadero
      @danielespanadero  Год назад +3

      Para agregar la dependencia de MySQL en el archivo pom.xml de un proyecto Maven, debes seguir los siguientes pasos:
      Abre el archivo pom.xml en un editor de texto o en tu entorno de desarrollo.
      Busca la sección dentro del archivo pom.xml. Si no existe, puedes agregarla en la sección .
      Dentro de la sección , agrega la siguiente dependencia de MySQL:
      mysql
      mysql-connector-java
      8.0.0
      Esta dependencia proporciona las clases y métodos necesarios para interactuar con la base de datos MySQL desde tu proyecto Java.

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

    Crack!.

  • @pipesoccer12
    @pipesoccer12 4 месяца назад +1

    Fantástico! la tabla user la creaste en mysql o el mismo backend se encarga de la creacion de los objetos de base de datos??

    • @danielespanadero
      @danielespanadero  4 месяца назад +1

      Muchas gracias por comentar. Las tablas las crea JPA automáticamente al usar la anotación Entity. Un fuerte abrazo! 🙂🤘🏻

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

    Cuando se trabaja con Optional es necesario mencionar que para acceder a sus métodos se debe hacer de la siguiente manera user.get().getId()

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

      Muchas gracias por tu aporte Carlos, creo que sería interesante hacer vídeos más cortos explicando este tipo de cosas, los que hago son muy elaborados y no puedo parar a explicar cada detalle para no alargarlo más de la cuenta. Un fuerte abrazo! 🙂🤘🏻

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

      @@danielespanadero Bueno deberías de explicar no es un juego esto.

  • @JesusGomez-pv5bz
    @JesusGomez-pv5bz 5 месяцев назад +1

    Buenos dias
    En primer lugar felicitarte por este impresionante aporte.
    He captado los conceptos a la primera.
    Agradecértelo siempre será poco.
    He realizado la práctica desde el principio, pero adaptándola a una bbdd remota que poseo en un servidor web que tengo contratado.
    He cometido algún error y me gustaría saber si tienes este código en algún repositorio para ver que diferencias y/o errores puedo haber cometido.
    Muchas gracias.

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

      Muchas gracias por tus palabras, Jesús. Leer comentarios como el tuyo motivan a seguir creando este tipo de contenido. Exantamente el mismo ejercicio no lo tengo, lo tengo mejorado. En este que te paso, en los controladores utilizo ResponseEntity, que es mucho mejor para gestionar los errores. Espero que te ayude, aquí te dejo el link:
      github.com/DanielEspanadero/spring-crud-complete
      Un abrazo y muchas gracias de nuevo por tus palabras 🙂🤘🏻

    • @JesusGomez-pv5bz
      @JesusGomez-pv5bz 5 месяцев назад

      @@danielespanadero muchísimas gracias

  • @joseantonioamayapostigo2542
    @joseantonioamayapostigo2542 Месяц назад +1

    tambien me he dado cuenta que las importaciones las hace jakarta en vez de javax

    • @danielespanadero
      @danielespanadero  8 дней назад

      En principio el tema de las importaciones me las realiza el IDE automáticamente. Igualmente en cuanto pueda hacé un vídeo remasterizado arreglando esos pequeños detalles. Muchas gracias por el aporte Jose Antonio, me ha ayudado mucho para tomar notas y optimizar futuras actualizaciones. Un abrazo!

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

    Me acabo de suscribir 👍

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

      Me alegra mucho que te hayas suscrito, Ivan. ¡Bienvenido a nuestra comunidad! Agradezco tu apoyo y no dudes en compartir tus pensamientos, preguntas o sugerencias sobre los próximos videos. Un abrazo! 🤘🏻

  • @Suricatoist
    @Suricatoist Месяц назад +1

    Hola, no consigo compilar el proyecto, estoy en Eclipse, en la clase CrudApplication.java me señala el error: The declared package "com.api.crud" does not match the expected package "". Investigando por mi cuenta veo que la estructura de directorios del proyecto está bien... no consigo dar con la tecla

    • @danielespanadero
      @danielespanadero  28 дней назад

      El error que estás viendo en Eclipse ocurre cuando la declaración del paquete en tu código Java no coincide con la estructura real de carpetas del proyecto.
      Esta tendría que ser la ruta:
      src/main/java/com/api/crud/CrudApplication.java
      Es raro que fuera por otra cosa, ya que ese error es bastante claro. Un abrazo y espero que hayas podido solucionarlo.

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

    la anotacion entity puede ser que ahora se importe desde jakarta.persistence y no mas de javax.persistence?

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

      Correcto, en Java 17 javax es jakarta. Tengo que renovar el vídeo en cuanto saque un rato. 😅

  • @denisvillalbarojas
    @denisvillalbarojas Месяц назад +1

    hno la imagen de la cámara puede estar arriba, para q no tape el contenido.

    • @danielespanadero
      @danielespanadero  28 дней назад +1

      En futuros vídeos lo hago asçi, no me dí cuenta a la hora de grabar de ese error. Aun así espero que te haya sido de utilidad. Un abrazo!

  • @user-dl3zh4ws1q
    @user-dl3zh4ws1q Год назад +1

    Gracias por el video pero es para avanzados , me faltan comentar algunas cosas aun asi agradecido

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

      Muy buenas Rubén, muchas gracias por tu comentario. Poco a poco, piensa que la programación es una carrera de fondo. Si tienes cualquier duda no tengas reparo en preguntar y estaré encantado de responderte a lo que necesites. Un abrazo!

    • @user-dl3zh4ws1q
      @user-dl3zh4ws1q Год назад +1

      @@danielespanadero Gracias, es solo que quería hacer un CRUD para empezar portafolio y la verdad es que cada uno lo hace de una manera, el tuyo me llamo la atención pq es muy distinto y seguro que más profesional. Un saludo 🫡

  • @VocesDelAyer777
    @VocesDelAyer777 3 месяца назад +1

    Pensé que usarías spring tool suite, pero igual se entiende el orden de los paquetes

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

      Creo que la versión Community de IntelliJ no cuenta con Spring Tools.

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

    ME SUSCRIBO Y ACTIVO LAS NOTIFICACIONES CON MUCHO GUSTO.

  • @joseantonioamayapostigo2542
    @joseantonioamayapostigo2542 Месяц назад +1

    hola amigo en el metodo update es donde no actualiza los datos por lo demas va todo como la seda

    • @danielespanadero
      @danielespanadero  8 дней назад

      Muchas gracias por tus comentarios Jose Antonio, son de gran ayuda para mejorar la calidad de los vídeos.

  • @user-fu5uf8mi4x
    @user-fu5uf8mi4x 7 месяцев назад +2

    Amigo un buen tutorial, solo que me costó mucho ver cómo le hacías porque tenías tu rostro omitiendo parte del código :V

    • @danielespanadero
      @danielespanadero  7 месяцев назад

      Es de las primeras veces que grababa con ese IDE y no calculé bien. Si te surge alguna duda, no tengas reparo en preguntar por aquí. Estamos para ayudar. Un abrazo.

  • @anagonzalezmendivil8942
    @anagonzalezmendivil8942 4 месяца назад +1

    Quisiera saber porque cuando al inicio abro el proyecto en neatbeans me aparece unloadable y ya no me aparece el resto del proyecto:(
    La versión que utilizo es la 21

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

      Muy buenas, no sabría responderte. Es posible que sean conflictos con la versión de Java o con el empaquetador. Si me proporcionas más detalles, podré ayudarte. ¿Tienes repositorio en github?

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

    Primero que nada muchas gracias por tan buen contenido! Realmente es súper didáctico el video! Nada más me quede con una pequeña duda. 8:15 Como sería la arquitectura de archivos y carpetas en un proyecto más grande? Se dividirán por entidad en lugar de funcionalidad?

    • @danielespanadero
      @danielespanadero  Год назад +3

      Muchas gracias a tí por comentar! Pues el tema de arquitectura es algo complejo ya que depende de lo que vayas a hacer hay infinidad de opciones, en apps gigantescas se podrían utilizar microservícios, que consiste en separar la aplicación en partes muy pequeñas, conectadas entre sí pero independientes, es decir, que si una de esas partes deja de funcionar, el resto de los microseevicios siguen funcionando. Para apps no tan gigantes tienes otras opciones como la arquitectura hexagonal o DDD (Domain Driven Design) que ayuda dividiendo la app en capas, la capa de dominio, de aplicación y de infraestructura... Haré un vídeo sobre el tema ya que es algo bastante extenso para un comentario. Un saludo y feliz año!!

  • @23cristianmr
    @23cristianmr 6 месяцев назад +2

    tienes el codigo fuente para que lo compartas? no encuentro un error y solo me queda comparar

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

      Muy buenas, exactamente el mismo no, tengo uno que en los controladores uso ResponseEntity para gestionar loa errores. Aun así te ayudará, aquí te lo paso:
      github.com/DanielEspanadero/spring-crud-complete
      Un saludo 🙂

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

    Hola! Lo primero muchas gracias por el video me ha servido mucho. Tengo una duda y es que mi petición http me devuelve 401 unauthorized, estoy usando spring boot security. Tienes idea de como solucionarlo?

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

      Muy buenas, al utilizar Spring Securiry me imagino que tienes las rutas protegidas y te has de autenticar. Aquí te comparto un vídeo que hice bastante completo sobre Spring Security que te puede ayudar:
      ruclips.net/video/Qu3soRF168I/видео.html
      Un saludo 🙂🤘🏻

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

    Hola! gracias por la excelente clase!!! pregunto si te anduvo la acualización (UPDATE) de registros, no me ha funcionado hasta ahora. Saludos!

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

      Muy buenas Fabien, en principio sí que funcionó. Pásame el método que hiciste y te lo corrijo sin problema. Un abrazo! 🙌🏻🙂

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

      creo que no funciona pq no se llega a persistir los datos, agrega esto: "this.iUserRepository.save(user);" seguido de "user.setEmail(request.getEmail());"

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

      @@victoralejandrolirianoluis4387 excelente

  • @MarcosVelasquez
    @MarcosVelasquez 11 месяцев назад +1

    Para validar que un atributo NO EXISTE EN EL JSON?

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

      Yo personalmente prefiero hacerlo a parte a través de condicionales, pero tienes un par de anotaciones interesantes para poner encima del campo de la entidad para evitar que este sea nulo o venga en blanco:
      Para evitar que sea nulo:
      @NotNull(message = "El campo nombre no puede ser nulo")
      Para evitar que venga en blanco:
      @NotBlank(message = "El campo nombre no puede estar en blanco")
      Espero haberte ayudado. Un fuerte abrazo desde Barcelona (España).

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

    Me sale este error: Not a managed type: class com.crossborder.backend.models.UserModel

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

      El error "Not a managed type" es comúnmente asociado con el uso incorrecto de JPA. Este error ocurre cuando intentas realizar operaciones de persistencia (como guardar o consultar entidades) en una clase que no está correctamente configurada como una entidad JPA.
      Asegúrate de que la clase UserModel esté correctamente anotada con @Entity.
      También, asegúrate de que la clase UserModel esté en el paquete correcto que está siendo escaneado por Spring para encontrar entidades JPA

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

    Excelente video que explica todo lo basico, ahora que estoy haciendo un crud pequeño veo que entity ahora es con jakarta en vez de javax ? ya no se utuliza javax ? o como esta el asunto, gracias,

    • @danielespanadero
      @danielespanadero  Год назад +4

      Me alegro que te haya gustado el video.
      En respuesta a tu pregunta, sí, en el 2021, Java EE fue renombrado a Jakarta EE. Esto se debe a que Oracle, que era el propietario de Java EE, decidió donarlo a la Fundación Eclipse. La Fundación Eclipse es una organización sin ánimo de lucro que se dedica a promover el desarrollo de software libre y de código abierto.
      El cambio de nombre de Java EE a Jakarta EE no ha afectado a la API, que sigue siendo la misma. La única diferencia es que el prefijo de todos los paquetes ha cambiado de javax a jakarta. Por ejemplo, el paquete javax.persistence se ha convertido en jakarta.persistence.
      Espero haber solucionado tu duda, un saludo! 🙂🙌

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

      @@danielespanadero waooo , toda una historia, gracias por la aclaración.

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

      De nada, para eso estamos. Un fuerte abrazo! 🙂🙌🏻

  • @NEGOXO
    @NEGOXO 17 дней назад

    Hola, realice el crud, y al comprobar con postman me devuelve un JSON donde first name y last name son null, pero mail si me guarda la información, no he podido encontrar el error.

    • @danielespanadero
      @danielespanadero  15 дней назад

      A veces, en estos casos, suele ser un tema de escritura. Mira a ver si lo esperas con camel case o todo minúsculas. En mi caso, cuando me suele pasar es por algo relacionado con eso. Mucha suerte, un abrazo!

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

    Hola , el ID en el modelo no te lo crea automático después en la BD???
    O si defino atributo nombre y contraseña de una tabla usuario x ejemplo ....

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

      Muy buenas, sí se crea autonaticamente aunque tienes que dejarlo indicado en la entidad, lo que define que eso es un ID son las anotaciones que lleva encima (Los @) aquí te muestro un ejemplo:
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;

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

    Hey no tiene sonido tu video.... Pensé que era mi teléfono pero no es el video.... Espero se solucione ya qué se ve que esta interesante. Saludos!

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

      Muchas gracias por el reporte, en principio lo acabo de comprobar y es apto en todo el mundo. Prueba a ver ahora a ver si te funciona. A veces RUclips puede tener problemas técnicos que impliquen errores de este tipo. Un saludo!

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

    TIO DIF, HAZ UN TUTORIAL DE SPRING BOOT Y SU CRUD PERO USANDO RESPONSE ENTITY EN LOS METODOS DEL CONTROLADOR.

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

      Tienes toda la razón, de hecho actualmente en mi día a día siempre utilizo ResponseEntity para mis controladores ya que es más facil a la hora de gestionar los errores. Tomo nota y en cuanto pueda haré una versión mejorada de este vídeo usando ResponseEntity. Un abrazo!

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

    Excelente video. Qué temas usas en Intellij Idea.?

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

      Pues los voy cambiando de tanto en tanto, en la actualidad utilizo uno propio. 🙂

  • @ignaciosepulveda5251
    @ignaciosepulveda5251 7 месяцев назад +1

    Hola amigos! El servidor al arrancar SpringBoot me va bien y sin problema, es decir que estoy conectado correctamente a la BBDD pero al hacer las peticiones (GET, POST) me manda un 404. Sabría alguien por qué? He estado mirando e intentando localizar el problema pero no se por qué, se que sin mirar el código es dificil saberlo pero cualquier ayuda sirve. Por cierto, he revisado el puerto y el nombre de la ruta y todo es correcto, Muchas gracias!! 😁

    • @danielespanadero
      @danielespanadero  7 месяцев назад

      Muy buenas, un error 404 quiere decir que la ruta a la que estás apuntando no existe. Comprueba el controlador a ver si has definido bien las rutas.
      Si tienes el código en github pásamelo por aquí y le hecho un vistazo.
      Un abrazo!

    • @ignaciosepulveda5251
      @ignaciosepulveda5251 7 месяцев назад

      @@danielespanadero Hola Dani maquina! Aqui tienes un subscriptor nuevo!! La verdad que he cometido un error de principiante y es que no puse el puerto en el application.properties y el puerto por defecto de tomcat es el 8080 y yo estaba intentando acceder desde el puerto que tengo seleccionado en MAMP.
      Gracias por responderme igualmente!!

  • @Jean_F12
    @Jean_F12 11 месяцев назад +1

    usas intellij premiun?

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

      Muy buenas, Jean. Pues no, utilizo la versión community que es 100% gratuita.
      Un saludo.

  • @martinarana9698
    @martinarana9698 11 месяцев назад +1

    querido tendras el projecto completo? me sale un error al copilar y veo que todo esta correcto, saludos desde Argentina

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

      Muy buenas Martin. Si me puedes compartir el error, te puedo echar una mano. Este proyecto concreto tal cual como lo realicé para este vídeo no lo tengo, pero sí que tengo uno muy parecido. La direfencia es que en este CRUD que te comparto, los controladores están gestionados por ResponseEntity, que me parece mucho mejor que lo que aplico en este vídeo.
      Este es el enlace al repositorio: github.com/DanielEspanadero/spring-crud-complete/tree/main
      Cualquier duda que te surja, no tengas reparo en comentarla. Un saludo desde Barcelona.

    • @martinarana9698
      @martinarana9698 11 месяцев назад +1

      @@danielespanadero un millon de gracias querido! un abrazo enorme

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

      @@martinarana9698 De nada, cualquier cosa que necesites no dudes en preguntar. Un abrazo!

  • @virgox123
    @virgox123 10 месяцев назад +1

    Hola con que patron de diseño estas trabajando???

    • @danielespanadero
      @danielespanadero  9 месяцев назад

      Muy buenas, me imagino que te refieres a la arquitectura mas que a un patron de diseño concreto. La arquitectura es MVC (Modelo Vista Controlador). Un saludo!

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

    o me funciono el update

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

      Muy buenas Lewis, tube un par de errores, que Leonardo corrigió en el comentario fijado, este es 100% funcional:
      Finalmente el update del service quedo asi:
      public UserModel updateByID(UserModel request, Long id ){
      UserModel userModel = userRepository.findById(id).get();
      userModel.setName(request.getName());
      userModel.setLastName(request.getLastName());
      userModel.setEmail(request.getEmail());
      userRepository.save(userModel);
      return userModel;
      }
      Luego el controlador asi:
      @PutMapping(path = "{id}")
      public UserModel updateUserById(@RequestBody UserModel request ,@PathVariable Long id){
      return this.userService.updateByID(request, id);
      }.
      Muchas gracias por ver el vídeo y espero haberte ayudado. Un abrazo! 🤘🏻

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

    Podrias hacer un tutorial de como subir esa misma api a un servidor remoto y conectarla a una base de datos mysql del mismo servidor?

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

      Lo tengo en mente. El primer vídeo que haré sobre el tema es con servicios cloud ya que parece que hoy en día la tendencia es hacia ahí. Usaré el servicio EC2 de AWS con un servidor de Ubuntu Linux. Pronto estará en el canal explicaco paso a paso. 🙂

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

      @@danielespanadero Muchas gracias, voy a estar al pendiente, ya activé la campanita para recibir tus notificaciones.

  • @user-dt5qz2rd2i
    @user-dt5qz2rd2i 11 месяцев назад +2

    tu cara no deja ver el código en el minuto 25:51 la linea 24 y 25....

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

      Mil disculpas por el inconvemiente. La línea 25 se ve completa por lo que veo.
      En la línea 24 tienes que poner dentro del parentesis UserModel user.
      Un saludo!

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

    Para har un simple CRUD haces muchos pasos en Java cosa que en PHP no. Yo programo en Java porque en mi país hay mercado en Java, no porque quizá me quedo con PHP, y de ahí estoy entre Python o Js con notejs

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

      Piensa que Java es uno de los lenguajes más robustos que existen. El tipado estricto evita errores típicos que la gente sí comete con PHP, JavaScript o Python. Ese es el motivo por el que muchas empresas apuestan por el.

    • @educateprogramando
      @educateprogramando 4 месяца назад +1

      No es malo que prefieras PHP, pero capacitarte en Java o .Net te puede abrir muchas más puertas, especialmente por su demanda

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

      @@educateprogramando
      Soy programado en Java y PHP, solo decía que en PHP no hago tantos pasos.

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

      @@danielespanadero
      PHP y Python también se pueden tipar y también puedes usar POO.

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

      @@Vizmonting entiendo bro

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

    HOla, me suscribo con tu foto no se ve vien el codigo, le tapas una parte

    • @danielespanadero
      @danielespanadero  11 месяцев назад +1

      Muchas gracias por la suscripcion Angel. Aquí te paso un crud completo con Java y Spring que tengo en mi github para que puedas ver los conceptos. No es el mismo ejemplo que realizo en el vídeo, pero la clave es entender los conceptos y eso si que no cambia.
      github.com/DanielEspanadero/spring-crud-complete

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

    Ando aprendiendo a usar spring Boot y spring security pero me di cuenta que creo que es uno de los modulos mas dificiles de springboot 😢

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

      Tengo pendiente hacer un vídeo completo de Spring Security, pero como bien dices no es tarea fácil. Te recomiendo tener bien pulido spring boot antes de empezar con spring security. Un saludo y mucho ánimo. Si te surge cualquier duda, no tengas reparo en comentar.

  • @joseantonioamayapostigo2542
    @joseantonioamayapostigo2542 Месяц назад

    te pide la licencia el intelliJ Idea no te puedo seguir con ese ide no se si con visual studio code a ver

    • @danielespanadero
      @danielespanadero  Месяц назад +1

      Muy buenas Jose Antonio, eso es por que te has descargado IntelliJ Idea Ultimate, tienes que descargarte la IntelliJ Idea Community Edition que es 100% gratuita. Un saludo!

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

    Hola, me sale un error al correr la aplicación, todo va bien hasta que me sale un error, y dice más o menos así: ERROR 13353[ main ] Com.zaaxer.hikari.pool.HikariPool: HikariPool-1 Exception during pool initialization.
    Y después sale:
    java.sql.SQLException Createbreakpoint: Access denied for user 'root'@'localhost' (using password: YES)
    Quiero suponer qué es mi conexión de MySQL pero mi usuario y mi contraseña son correctos, espero puedan ayudarme. ☹️

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

      Hola, este error es bastante común cuando trabajas con MySQL y Spring Boot. De acuerdo con los mensajes de error que estás recibiendo, parece que tu aplicación no puede acceder a la base de datos MySQL con las credenciales proporcionadas.
      Aquí te dejo algunos pasos que puedes seguir para solucionar este problema:
      1. Verifica las credenciales: Asegúrate de que el nombre de usuario (root) y la contraseña son correctos. Prueba acceder a la base de datos MySQL con las mismas credenciales fuera de tu aplicación, por ejemplo, utilizando la línea de comandos o un cliente de base de datos como MySQL Workbench.
      2. Verifica la URL de conexión: Revisa la URL de conexión en tu archivo de application.properties de Spring Boot. Debería tener un formato parecido a jdbc:mysql://localhost:3306/nombre_de_tu_base_de_datos.

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

      @DIF pude solucionarlo, gracias.

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

    He visto mucho videos pero nadie absolutamente nadie ha hecho un crud con tablas con llaves foráneas.

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

      Muchas gracias por tu comentario Jonh, tomo nota para crearlo. Un abrazo!! 🙂

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

      Muchas gracias por tu comentario Jonh, tomo nota para crearlo. Un abrazo!! 🙂

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

    Cómo subiríamos la Api a un servidor real?

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

      Hay varias maneras, tienes servicios como EC2 de AWS, tambien puedes hacerte con un VPS y configurarlo e incluso hay plataformas que ya te dan todo configurado para que lo subas directamente. Yo personalmente tiraría por aprender cloud. Un abrazo!!

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

      @@danielespanadero Qué opinas sobre supabase?

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

      @@danielespanadero Algún vídeo sobre ello?

  • @lisetportilla6162
    @lisetportilla6162 20 дней назад +1

    Todo iba bien hasta que vi "PostMan"? que diablos es eso¡

    • @danielespanadero
      @danielespanadero  19 дней назад

      Buenas, Postman es una herramienta para el desarrollo y prueba de APIs que permite enviar solicitudes HTTP y ver las respuestas. Facilita la creación y organización de pruebas, automatización, gestión de entornos, y documentación de APIs, todo desde una interfaz gráfica. Es muy utilizada para depurar y colaborar en proyectos de desarrollo de servicios web. Un saludo.

  • @jeanpierv.1728
    @jeanpierv.1728 Месяц назад

    github?

    • @danielespanadero
      @danielespanadero  Месяц назад

      Aquí tienes, hay alguna pequeña diferencia con respecto al vídeo, como el uso de ResponseEntity en los controladores
      github.com/DanielEspanadero/spring-crud-complete

    • @jeanpierv.1728
      @jeanpierv.1728 Месяц назад

      @@danielespanadero gracias , pero mi error era por la base de datos , no sabía si crear una llamada crud o users , o user jajaa. Aún no se. :(

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

    esto es spring boot no spring framework

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

      Muy buenas Diego, muchas gracias por el aporte, es correcto que es spring boot y por lo tanto también es spring framework ya que no puedes utilizar Spring Boot sin Spring Framework. Spring Boot se basa en Spring Framework y es una extensión que facilita y agiliza el desarrollo de aplicaciones basadas en Spring, aunque lo correcto es poner spring boot en el título.
      Me has dado una idea para explicar esto en un video con ejemplos de ambos y así empaparme sobre el tema. Cambiaré el título del vídeo por spring boot y agradecerte de nuevo por la aportación, en el momento que titulé el vídeo no me paré a pensarlo y en mi día a día lo llamo spring. Lo dicho, muchas gracias y un fuerte abrazo! 🙌🏻🙌🏻🙌🏻🙌🏻

  • @user-zb6qz6vm8g
    @user-zb6qz6vm8g 7 месяцев назад +12

    Bien video, pero a la proxima asegurate de no tapar el codigo con tu cara

    • @danielespanadero
      @danielespanadero  7 месяцев назад +1

      Muchas gracias por el comentario y mil disculpas por ello. Un abrazo!