INDICE: 1. 3:30 - CONFIGURACION DEL SPRING INITIALIZER Y DEPENDENCIAS 2. 10:17 - DEFINICION DE LA ESTRUCTURA DE PAQUETES 3. 13:06 - CONFIGURANDO SWAGGER 4. 15:30 - ESTABLECIENDO ALGUNAS APLICATION PROPERTIES 5. 17:59 - CREANDO EL CONTROLADOR TaskController 6. 20:13 - CREANDO LA ENTITY O MODELO Task 7. 25:58 - CREANDO EL REPOSITORY TaskRepository 8. 28:23 - CREANDO EL SERVICIO TaskService, CON EL METODO createTask 9. 31:10 - CREANDO UN DTO (Data Transfer Object) para la entidad Task 10. 34:40 - CONTINUANDO CON EL SERVICIO TaskService USANDO EL DTO EN EL METODO createTask 11. 36:25 - CREANDO UN MAPPER PARA CONVERTIR UN DTO A UN ENTITY PARA PODERLO USAR EN EL SERVICIO 12. 41:33 - CONTINUANDO CON EL SERVICIO TaskService USANDO EL DTO Y EL MAPPER EN EL METODO createTask 13. 43:05 - CREANDO EL METODO HTTP POST PARA EL METODO createTask EN EL CONTROLADOR 14: 46:16 - PROBANDO EL METODO createTask DESDE SWAGGER 15. 49:15 - AGREGANDO EL METODO findAll AL TaskService 16. 51:22 - AGREGANDO EL METODO HTTP GET PARA EL METODO findAll EN EL CONTROLADOR 17. 52:36 - PROBANDO EL METODO findAll DESDE SWAGGER 18. 53:27 - AGREGANDO EL METODO findAllByTaskStatus AL TaskRepository 19: 55:58 - AGREGANDO EL METODO findAllByTaskStatus AL TaskService 20. 56:55 - AGREGANDO EL METODO HTTP GET PARA EL METODO findAllByTaskStatus EN EL CONTROLADOR 21. 58:58 - PROBANDO EL METODO findAllByTaskStatus DESDE SWAGGER 22. 1:00:2O - AGREGANDO EL METODO markTaskAsFinished AL TaskRepository 23. 01:06:07 - AGREGANDO EL METODO updateTaskAsFinished AL TaskService 24. 01:06:53 - AGREGANDO EL METODO HTTP PATCH PARA EL METODO markAsFinished EN EL CONTROLADOR 25. 1:10:23 - PROBANDO EL METODO markTaskAsFinished DESDE SWAGGER 26. 1:11:24 - AGREGANDO LA ANOTACION @Transactional AL METODO updateTaskAsFinished EN EL TaskService 27. 1:12:40 - CREANDO UNA CLASE PARA LAS EXCEPCIONES 28. 1:16:32 - MEJORANDO EL METODO updateTaskAsFinished EN EL TaskService USANDO LAS EXCEPCIONES 29. 1:18:39 - CREANDO UN EXCEPTION HANDLER PARA QUE LAS EXCEPCIONES NO LLEGUEN DE MANERA DESCONTROLADO 30. 1:21:37 - AGREGANDO EL METODO deleteById AL TaskService 31. 1:22:59 - AGREGANDO EL METODO HTTP DELETE PARA EL METODO deleteById EN EL CONTROLADOR
@danielobregon85352 жыл бұрын
La manera en que te expresas al intentar explicar cada paso que das es increíble man! Te felicito, ya he visto varios videos de éste tipo, pero tu estas en el primer puesto! Saludos desde Argentina!
@elvisalmonte306010 ай бұрын
Explicas de manera muy sencilla y haces parecer que las cosas son fáciles aunque no lo sean. Muchas gracias por compartir tus conocimiento, eso es de grandes!
@programadoronce9352 жыл бұрын
gracias, la verdad me ayudaste mucho, estoy en un bootcamp para entrar a una empresa y hicieron todo lo que hiciste vos, no me quedaba claro lo de h2 y jpa, pero con esto ya estoy a otro nivel.
@SACAViXTech2 жыл бұрын
Que bien, muchos éxitos
@alexandermolina25022 жыл бұрын
Que gran contenido, lo he visto ya 2 veces, muy útil y muy bien explicado. Muchas gracias por el contenido!
@edustreamimg7 ай бұрын
Q bueno eres explicando y sobre todo cubriendo los casos de usos.
@yeisonosorio5462 Жыл бұрын
Muchas gracias, se nota el deseo de que el proyecto sea entendido, saludos desde Colombia!
@iAndrikMM2 жыл бұрын
Increíble manera de explicar las cosas, no pare de subir videos que vas para arriba!
@SACAViXTech2 жыл бұрын
Gracias Andrik !
@MrShadow732 Жыл бұрын
@@SACAViXTech Me encantó tu explicación completa, ahora bien no es compatible con springboot 3 podrías hacer un remake para que este siga funcionando?
@GustavoGarcia-cr4ph Жыл бұрын
Impecable la explicación, hice todo el proyecto y funcionó perfectamente, por ahí tuve algún tema en swagger que me mostró cada método que fui creando pero no me permitía ejecutarlo desde ahí, lo hice desde postman, pero seguramente es porque en algo le estuve errando, lo voy a revisar nuevamente, sigue generando contenido de este tipo que a los que nos estamos iniciando en spring boot nos aporta muchísimo, es oro en polvo, mil gracias
@Gamijoh2 жыл бұрын
Uno de los mejores videos que vi hasta el momento, todo lo que hiciste estuvo excelente. Facil de entender y cubriste lo mas importante de una api rest. Realmente te felicito. Me sirvió un monton el video.
@SACAViXTech2 жыл бұрын
Gracias !
@nicolasgarcia253 Жыл бұрын
Oro mappeado a un video jajaaj es tremendo el contenido!
@develomentsystemnrg990210 ай бұрын
Mi amigo, te felicito, que buena forma de explicar además de buen profesional, tienes excelente forma de enseñar un abrazo desde Medellín Colombia
@SACAViXTech10 ай бұрын
Hola, muchas gracias por tu comentario
@juani221287 Жыл бұрын
Excelente este video!!! Si bien vengo trabajando con Spring hace un tiempo, mostraste un par de cositas muy interesantes y que me sirvieron muchisimo, como el ExceptionHandler, y como utilizas los servicios. Impecable, sería impresionante que saques más videos asi, de proyectos para practicar!! Gracias
@EmmanuelRodriguez-gn2pt10 ай бұрын
Super entendible, te agradezco por la información, saludos desde Uruguay
@SergioSanchoPola Жыл бұрын
Buenisimo, me ha servido mucho como aprendizaje inicial de Spring Boot. Muchas gracias!!
@gilberttenorioangulo25132 жыл бұрын
Excelente Video. ti forma de explicar cada estructura , se nota que conoces muy bien el tema. continua... exito
@SACAViXTech2 жыл бұрын
Muchas gracias
@nahuelgarrido9045 Жыл бұрын
Muy buen tutorial! Excelente profesor! Un abrazo desde Argentina.
@SACAViXTech Жыл бұрын
Abrazos Nahuel, Gracias.
@isalinass Жыл бұрын
Fantástico vídeo curso, muchas gracias por compatir su conocimiento.
@miguelangelesteban992 жыл бұрын
Muchas gracias por compartir tu conocimiento, muy claro y conciso, espero con ansias la parte 2.
@lonnalestapidreke18772 жыл бұрын
Estupendo Tutorial Yoandy, saludos y me alegro de verte
@miguelangelmendezcumplido1026 Жыл бұрын
Es el primer vídeo tuyo que veo. Excelente forma de explicar y el contenido muy bien estructurado :D Gracias!
@mirandoelcodigoymas4202 Жыл бұрын
Excelente contenido, usas una arquitectura mejor estructurada que la que trabajamos en la empresa. Gracias por compartir.
@emmanueltabordav304011 ай бұрын
TE AMO CALVITO 💕💕
@neorevolutions2222 жыл бұрын
gracias por la clase magistral. excelente video. Oro en Puro. gracias x el aporte a la comunidad
@SACAViXTech2 жыл бұрын
Gracias a ti Cristian por el comentario, nos vemos en los próximos 😜
@danielquintana52312 жыл бұрын
Excelente video !!!! Muchas gracias al equipo de SACAViX Tech ....
@SACAViXTech2 жыл бұрын
Gracias a ti Daniel, espero te haya sido útil!
@ivanduenas88602 жыл бұрын
Es increíble lo fácil que lo haces. Gracias por tu dedicación. Listos, suscrito!
@SACAViXTech2 жыл бұрын
Gracias a ti Iván, me alegra te sea útil, nos vemos en los próximos 👍
@juansarmiento31962 жыл бұрын
Holaaa, muy buen video, mis felicidades ! Saludos desde Argentina !
@gabrielp8660 Жыл бұрын
Sos excelente explicando. Gracias!!
@hermanmoralesara77662 жыл бұрын
Muchas gracias, muy buen video para los que estamos comenzando con spring boot
@eduard1877X Жыл бұрын
excelente video Dev!, gracias Por toda esta valiosa info.
@javieraparisi3021 Жыл бұрын
Genial tu video!!! eres el mejor de youtube explicando los temas de Springboot!
@SACAViXTech Жыл бұрын
Gracias Javier, pronto se viene curso completo para principiantes, todo explicado desde cero 😍
@GerardoPerezMedina-eu9pr Жыл бұрын
No suelo comentar videos pero esto sin duda es increible deberias hacer mas videos de este tipo
@ricardobonilla98212 жыл бұрын
muchisimas gracias, se entendio todo a la perfecion !!!!
@DEVYulay2 жыл бұрын
eres grande man me has enseñado mucho. felicidades
@manuonda2 жыл бұрын
Muchas gracias por el contenido! Para practicar el fin de semana. :)
@ChristianGaray-wc4gv8 ай бұрын
Un mostro, muy buena explicación vamos por otro tutorial💣
@hroddev Жыл бұрын
Excelente material, tenia muchas dudas que me ayudaste a aclarar. Exitos!!
@samuelarone7659 Жыл бұрын
Buen curso, se agradece tu aporte. Te ganaste un seguidor 😅
@danielcamachof2 жыл бұрын
Hermano muchas gracias por compartir todos tus conocimientos!, un saludo desde Bogotá Colombia🇨🇴🤙🏻
@SACAViXTech2 жыл бұрын
Gracias Daniel, saludos a la gente de la tierra del mejor café del mundo :-)
@leonardomorganti654 Жыл бұрын
Muy bueno, ojala siga con mas nivel para principiantes de cero a avanzado. Security, test unitarios..
@ricardocorralesduque14852 жыл бұрын
Muchas gracias, muy clara y elocuente su explicación.
@CAFernandezB2 жыл бұрын
Excelente tu contenido, y sobretodo el cómo lo explicas, de lo mejor en KZbin, sería genial un curso más detallado, y profundo de spring boot, con este estilo de crear una app, algo más complejo h robusto que abarque todos los conceptos y buenas prácticas... Gracias por tomarte el tiempo de general tan buen contenido.. éxitos...
@gogomac2 жыл бұрын
Gracias Teacher iniciando a aprender en el canal.
@SACAViXTech2 жыл бұрын
Bienvenido 👍
@cotirena2 жыл бұрын
Gracias por tus vídeos, me son muy útiles. Acabo de comprar tu libro para seguir aprendiendo y poder también apoyar tu trabajo. Saludos desde España!
@SACAViXTech2 жыл бұрын
Gracias Victor !
@victormontivero19982 жыл бұрын
Muy clara la explicación, se que requieren mucho esfuerzo, pero es muy dicactico esta clase de proyectos con buenas practicas.
@SACAViXTech2 жыл бұрын
Gracias por comentar victor !
@jhongogta Жыл бұрын
Muchas gracias, la adapte a Spring boot 3 y Swagger 3 jeje
@pablord5162 жыл бұрын
Buenísimo vídeo. De verdad, enhorabuena.
@monarcaShadow24 Жыл бұрын
clase magistral te lo agradezco, he visto tu canal y tienes muchos videos con diferentes temas, me podrías decir que video ver como continuación a este video o como refuerzo para continuar mi aprendizaje en spring boot? te lo agradecería 🙏🙏🙏🙏
@nemines0027 Жыл бұрын
saludos muchas gracias exelente tutorial
@denjiuzumaki4309 Жыл бұрын
excelente, muchas gracias por compartir
@anacarreno43712 жыл бұрын
Muy buena la Explicacion, he visto que otros en su DTO igual lo vuelven a declarar el Id de la tabla, pero me esta quedando aclarado que nose debe declarar el Id en el DTO.
@SACAViXTech2 жыл бұрын
Claro, es una muy mala practica exponer las estructuras internas de tu base de datos, mas aun el id hacia afuera el id siempre que no sea necesario, mejor no exponerlo.
@davidferneycruzcruz712710 ай бұрын
Muchas Gracias excelente video
@ramonaguerovazquez5482 жыл бұрын
Que buen video, el del maestro..
@SACAViXTech2 жыл бұрын
Crack, un abrazo
@VIVAELPRTERP19762 жыл бұрын
Excelente videos!!!! Super entendibles, siempre aprendo algo nuevo con tus videos. Muchas gracias por compartirlo 😉
@SACAViXTech2 жыл бұрын
Gracias. Saludos
@homeliveinmobiliarias.a.s1008 Жыл бұрын
Excelente, felicitaciones!!
@miguelcamacho33812 жыл бұрын
Gracias por compartir, muy claras las explicaciones, estaría interesante hacer unit test a este proyecto con Mockito y JUnit5, Saludos desde Mexico!!
@abnormal95122 жыл бұрын
todavía no lo empiezo pero ya me dieron ganas, por que en algunos cursos de spring explican con front, pero lo que mas me interesa por el momento es solo el back.
@SACAViXTech2 жыл бұрын
Genial, si te entran dudas déjame el comment y te respondo 💪
@arvinardilla2 жыл бұрын
Excelente video!. Te felicito por hacer hincapie en las buenas practicas como por ejemplo que el controller solo sea un nexo con el service y que no hagas como muchos cursos, de ponerle validaciones y logica en los controllers.
@alejandrocabrera81322 жыл бұрын
Muy bueno pa! gracias, ahora sí entiendo jaja
@paulocabelloacha41952 жыл бұрын
Excelente material practico, muchas gracias!
@SACAViXTech2 жыл бұрын
Gracias a ti Paulo!
@AZCHILENO2 жыл бұрын
excelente video, queda todo muy claro
@SACAViXTech2 жыл бұрын
Gracias, nos vemos en los próximos 😜
@rickhunter8216 Жыл бұрын
BUEN TUTORIAL TIO VIX, ME GUSTA CUANDO ESCRIBES EL CODIGO Y VAS EXPLICANDO PARA QUE SIRVE. YO SUELO USAR MAS EL @AUTOWIRED QUE LA OTRA FORMA. 🙂
@barar7155 Жыл бұрын
hola una consulta, de donde usualmente se saca esos codigos replay que mencionaste, como el SwaggerConfig y el de ExceptionHandler? buen video muchas graciass!!!
@jengibre4449 Жыл бұрын
Es genial este video!!!!!
@gilbertardila Жыл бұрын
Super, ¿tienes más videos de Springboot?
@samrojas42956 ай бұрын
😅😅😅 gente les juro que no es un falso documental, es 100% real no fake.
@natanaelmunoz50982 жыл бұрын
Muy buen video! Gracias por las enseñanzas! Sería genial un vídeo de Spring Security con respecto al Login con base de datos, y que se maneje los datos de esa persona logeada.
@SACAViXTech2 жыл бұрын
Haré un video al respecto, ya veo que es un conocimiento demandado :-)
@soledadtancredi3433 Жыл бұрын
Excelente info!
@rocamorapiano1 Жыл бұрын
Cuando hago el POST va bien sin errores, pero me muestra esto: {} Y al hacer el GET me sale: [ {}, {} ] Lo correcto sería que pusiera: [ { "description": "Prueba1", "eta": "2023-03-10T22:32:30.769Z", "title": "Prueba33" }, { "description": "Prueba2", "eta": "2023-03-10T22:32:30.769Z", "title": "Prueba2" } ] Sin embargo cuando me meto a la base de datos y hago un Select, sí me salen todos los campos correctamente. Si alguien pudiera decirme por qué pasa eso y cómo solucionarlo se lo agradecería. Un saludo
@ivancalisaya4218 Жыл бұрын
Buen video 👍
@alexanderjprado2 жыл бұрын
¿En la clase TaskInDTO no faltó implementar la interfaz Serializable?
@ConvierteteAJesúsAhora2 жыл бұрын
Hola gracias por tu video tan completo y detallado. Muy didactico. Enseñar es un acto de amor. Tienes un video donde dices como hiciste tu pagina principal de Git? Donde mencionas tus hobbies me refiero. Eso que aparece antes de los repositorios. Yo quisiera colocar info asi, como lo hiciste.
@cristianfuentes23302 жыл бұрын
Muchas gracias por el video, todo muy claro y bien explicado. Podria explicar el uso de DTO. Saludos
@SACAViXTech2 жыл бұрын
Gracias Cristian, lo tendré en cuenta.
@sandorcaceres10522 жыл бұрын
Muchas gracias el vídeo está genial :D una duda, ¿si quiero conectar el proyecto a una base de datos mySql cambia mucho? ¿que tendría que ver?
@franciscoespinosagonzales23312 жыл бұрын
Una duda, tendras pensado sacar una parte complementaria a este sobre el uso de jwdt y los componentes de seguridad... entiendo que si pones esa parte seria un video enorme, pero seria genial poder complementarlo... genial el trabajo que estas haciendo.
@SACAViXTech2 жыл бұрын
Hola, sabes que varias personas lo han pedido, creo que me voy a animar a hacerlo si, ahora en la parte 2 de este ya comprometí pruebas unitarias y de integración, pero si podemos hacer una parte 3 sobre el mismo proyecto y cubrimos la parte de Spring Security, estaría bien si.
@franciscoespinosagonzales23312 жыл бұрын
@@SACAViXTech Super... justo hoy que puede descansar me quede en la casa y pase el video completo... me quede con una aplicacion para mi portafolio y las cosas bastante clara sobre lo que explicas en el proyecto... Hay una parte donde dices que se viene un curso, es un curso de pago? o sera gratis a aqui mismo en KZbin? Gracias por responder.
@SACAViXTech2 жыл бұрын
@@franciscoespinosagonzales2331 genial que lo pudiste ver, será gratuito 😃
@jhonlima9802 Жыл бұрын
Trabajas en Android Studio?
@jcurtob48772 жыл бұрын
Voy a echar mucho de menos Intellij Idea Ultimate cuando se me termine el año de estudiante... voy a tener que matricularme en cualquier cosa para seguir con el IDE gratuito 😁😁
@jose61832 жыл бұрын
Gracias!
@franciscoespinosagonzales23312 жыл бұрын
Super... de verdad...
@SACAViXTech2 жыл бұрын
Gracias a ti Francisco
@CanalVigo Жыл бұрын
Muy buen vudei
@rb8112 жыл бұрын
una consulta un API REST es lo mismo que decir MicroServicio ???
@SACAViXTech2 жыл бұрын
Hola RB , no, no es lo mismo un API Rest provee un mecanismo basado en la patrón de arquitectura REST para comunicar aplicaciones, los microservicios son un estilo arquitectónico para construir aplicaciones como un grupo de pequeños servicios, la relación es que a menudo estos pequeños servicios se comunican usando REST pero pueden usarse otros métodos de comunicación. Gracias por comentar
@rb8112 жыл бұрын
@@SACAViXTech a ya pero entonces este turorial que has hecho es un servicio API REST que podría incorporarse a un microservicio o agregarse a un conjunto de servicio que equivale a un microservicio ? me gustaría que hicieras un video que relacione un servigio API REST Acon microservicio ya qur no lo entiendo muy bien
@nuriselpalmaperez91632 жыл бұрын
Está muy bueno el video, muy bien explicado, pero me queda una duda en la parte de persistencia, ¿dónde está la implementación del método findAllByTaskStatus? ¿Por qué en markTaskAsFinished se realiza una query a la base de datos y en findAllByTaskStatus no? Saludos
@SACAViXTech2 жыл бұрын
Hola, eso es porque usa la magia de Spring Data JPA, puedes aprender mas aca: docs.spring.io/spring-data/jpa/docs/current/reference/html/
@Gamijoh2 жыл бұрын
Por lo que estuve viendo Spring crea la implementacion de los metodos find si tienen como parte de su nombre algun atributo de la clase ejemplo: findAllByNombre, findAllByPrecio..y asi con cualquier atributo de la clase que esta usando el repositorio.
@andresgamarra90672 жыл бұрын
¿Las excepciones creadas se pueden utitlizar manera general en cualquier error? O solo corresponden a lo relacionado con el Task
@luisserge20302 жыл бұрын
Una pregunta los DTO solo son usados para transformar la información que se recibe ? Se puede usar de alguna manera para transformar la información que se muestra ? Y si tengo una consulta que se forma de la unión de varias tablas puedo usar Mapper para responder esa consulta o debo hacer una native query?
@juaninostroza8277 Жыл бұрын
hola desde chile, consulta necesito realizar unos servicios que traiga una lista de fechas aleatorias y que muestre las que se omiten aleatiriamente tambien, por fa me puedes explicar mas menos como puedo realizarlo por favor, gracias, tus videos son muy buenos
@gogomac2 жыл бұрын
Hola Profe, saludo y gracias por estos aportes a nuestro conocimiento. Por favor me orientas para conocer como comprar o descargar tu Libro. Gracias
@SACAViXTech2 жыл бұрын
Hola Gonzalo como estás? Gracias por tu comentario, en realidad no es necesario comprarlo directamente, puede colaborar con el canal en Patreon y ahí esta disponible, en los comentarios del vídeo está como hacerlo, si se te complica agregame en linkedin y hablamos in@yoandypv
@brunoromanhuaman48822 жыл бұрын
1:24:55 por que el TASK_STATUS se guarda como numero ?
@SACAViXTech2 жыл бұрын
Hola Bruno, eso es porque es un ENUM y toma por orden 0, 1, 2 ... y guarda en base la posición del ENUM, eso se puede cambiar y decirle que guarde el String, por defecto guarda el ordinal que es el número, en cambio puedes decirle que guarde el string anotando el tipo del enum con esto encima @Enumerated(EnumType.STRING). Pruébalo y me cuentas. Saludos !
@victormunar1562 Жыл бұрын
Máster está bien que el entity llegue al controlador por medio del service y se devuelva al cliente o toca transformarlo en un dto en el service y devolver un taskOutDto? Muchas gracias explicas muy bien
@SACAViXTech Жыл бұрын
Para hacerlo bien, no debe llegar nunca, en el próximo video voy a hablar de ese tema precisamente, sale el lunes. Gracias por comentar 😃
@victormunar1562 Жыл бұрын
@@SACAViXTech gracias a ti por tomar el tiempo para responder trabajo con un CMS en java pero quiero más retos así que estoy estudiando spring boot y tu canal me ha ayudado mucho
@lilianaperez74082 жыл бұрын
Hola que JDK se puede usar? el version SE está bien o se ocupa algo que sea Java EE? Gracias
@SACAViXTech2 жыл бұрын
Hola Liliana instalate la sdk normal del sitio de Oracle, o la openjdk, si usas Linux o Mac puedes usar sdkman
@M4rcos.j2 жыл бұрын
Hola me encantan tus videos una pregunta, como hago para que en el menu de generacion de proyectos me salga el generador de spring intializr??
@SACAViXTech2 жыл бұрын
Hola si usas community debes instalar un plugin, sino puedes hacerlo por la web directamente y descargar el proyecto, luego abrirlo por el ij
@SACAViXTech2 жыл бұрын
Déjame dicho si lo logras ?
@M4rcos.j2 жыл бұрын
@@SACAViXTech instale el plugin SpringBootGen y el Spring Boot Assistant y no me aparece el generador todavia
@matiasesquivel5166 Жыл бұрын
@@M4rcos.j parece que solo se puede con la otra version, no con la community. yo me instale la otra con el email de mi universidad que te dan un año gratis, que se puede ir renovando y ya me aparecio . actualmente estoy teniendo problemas con la vista de swagger-ui.html pero bueno supongo que lo resolvere
@rociogonzalez9459 Жыл бұрын
@@matiasesquivel5166 pudiste solucionar el problema
@anacarreno43712 жыл бұрын
He visto otros videos que crean el archivo TaskServiceImpl es ahi donde hacen la logica de programacion y tu lo haces en el TaskService. eso es valido tambien.?
@SACAViXTech2 жыл бұрын
Es solo un tema de nombres, pero lo mejor es seguir un solo enfoque, particularmente me gusta uno como el que planteas y no como el que seguí en el video (lo hice así por un tema de simplicidad), pero lo mejor es la interfaz o abstracción llamarla TaskService y la implementación TaskServiceImpl. Pero no es una regla, sino una preferencia nada mas.
@miguelalonsocoba18132 жыл бұрын
Muy buen video, explicaciones claras y concisas. Tengo una duda, podrías haber integrado la dependencia de Spring Boot DevTools para que se inicialice la aplicación automaticamente cada vez que se detecte un cambio?
@SACAViXTech2 жыл бұрын
Hola, si es correcto, podía haberlo hecho, recomendado para ir más rápido, gracias por tu comentario 👍
@danielobregon85352 жыл бұрын
Hola Yoandy, vuelvo a escribirte con una duda particular, ya que no he visto info al respecto y tú tienes mucha experiencia, tal vez me puedas ayudar. Supongamos que tengo una entity en la db y una de las propiedades de esa entity es una imagen. Puede devolverse la imagen en el json? Es decir, por ejemplo: id, name, edad, ByteArrayResource o MultipartFile Yo lo he intentado devolver en un dto pero no encuentro la forma. Me han dicho que me conviene devolver la imagen en otra response
@SACAViXTech2 жыл бұрын
Hola Daniel, poder se puede, pero lo más recomendable es devolver la URL de la imagen en un CDN o si es algo más precario en un servidor de contenido estático detras de un Nginx, no es recomendable devolver un base64 o algo de la imagen, causa overhead innecesario
@danielobregon85352 жыл бұрын
@@SACAViXTech muchas gracias Yoandi!! El tema es que el proyecto recomienda que las imágenes se encuentren en la db. Por eso se me ocurrió devolverlas como una entidad asociada OneToMany. Estoy totalmente de acuerdo en que lo que dices, es lo mejor, pero en mi caso, tal vez tendria que llamar otro endpoint en el mismo botón y que traiga el json con los datos y otro con la imagen. Es buena idea? Gracias de nuevo amigo. Abrazo!!
@edgarrsilvag66582 жыл бұрын
Saludos Buenos dias excelente video. Termine de comprender muchas cosas que aun no entendia. Ahora una pregunta para conocer tu opinion. Si el metodo save del Jpa Repository agrega el registro si el id es 0 o no existe y lo modifica si existe, es posible utilizar solo el request patch o post para modificar o agregar un registro. Que piensas???
@SACAViXTech2 жыл бұрын
Hola Edgar los verbos HTTP son solo convenciones semánticas, puedes usar un post para obtener datos y un patch para crear un recurso, funciona pero semánticamente no está está bien. Lo correcto es Post para crear nuevos recursos, put para actualizar un recurso entero y patch para una actualización parcial. Internamente a nivel jpa puedes usar un save para post y put, pero para un patch es más recomendable una un update con una query nativa que solo cambie lo que es necesario.
@arlangalvez7312 Жыл бұрын
Uff tengo un problema, estoy en el min 20 pero no logro que mi api me muestre el swagger. No da error, corre perfectamente pero no me saca el swagger. Que puede ser?
@SACAViXTech Жыл бұрын
Hola Arlan, asegúrate estés usando las mismas versiones del ejemplo, en ocasiones tiene problemas de compatibilidad o comparte el código en un git y lo miro si quieres
@arlangalvez7312 Жыл бұрын
@@SACAViXTech PERFECTO! muchisimas gracias. Geniales sus videos!!! Un placer contar con su ayuda!
@brunoromanhuaman48822 жыл бұрын
Buen video, muchas gracias :) , una pregunta que plugin tienes para que se te vea la consola de esa forma ? El único que encontré se llama Grep Console pero el tuyo se ve mejor
@SACAViXTech2 жыл бұрын
Ni idea, en realidad como viene por defecto :-)
@TROLLIEL13 Жыл бұрын
crei que api rest era un enlace externo pero tu usas localhost
@williamsvictor20282 жыл бұрын
Podrias compartir el codigo del proyecto . gracias
@SACAViXTech2 жыл бұрын
Con gusto, el código está disponible desde el artículo del blog relacionado. Puedes acceder desde acá. sacavix.com/2022/03/06/aprende-spring-boot-con-un-proyecto-real/
@williamsvictor20282 жыл бұрын
@@SACAViXTech Muchas gracias
@sacarymoviesamu2 жыл бұрын
No me va la cosa esta. Joder
@maximilianocastiglioni96792 жыл бұрын
Muy bueno el video, felicitaciones. Consulta: En la arquitectura que planteas es valido que una clase que implementa IMapper puede comunicarse con un repository (o varios)? Por ejemplo supongamos una clase PersonaInDtoToPersona . Tengo una clase DTOPersona con un idPais(de tipo int ). Cuando voy a armar la verdadera clase persona esta mal que invoque al paisRepository.getPais(idPais), para luego agregar el pais a la clase Persona? y asi con otros objetos que puede tener la clase Persona adentro.(Direccion, Telefono,etc) mi clase quedaría algo así import com.example.procesador.persistence.entity.Persona; import com.example.procesador.persistence.entity.Pais; import com.example.procesador.persistence.repository.PaisRepository; import com.example.procesador.service.dto.PersonaInDTO; import org.springframework.stereotype.Component; @Component public class PersonaInDtoToPersona implements IMapper { private final PaisRepository paisRepository; public PersonatInDtoToPersona(PaisRepository paisRepository) { this.paisRepository = paisRepository; } @Override public TransactionData map(TransactionDataInDTO in) { TransactionData transactionData = new TransactionData(); Pais pais=paisRepository.getById(in.getIdPais()); persona.setPais(pais); persona.setNombre(.... persona.setApellido(... return persona; } } Desde uruguay, muchas gracias !!
@SACAViXTech2 жыл бұрын
Hola Maxi, poder se puede, pero creo que pudiera quedar mejor si abstraes los mappers del repositorio, el mapper debe ser algo noble, no debería depender del acceso al repositorio o a otro recurso externo. Un mapper debería tener solo un método llamado map que recibe como parámetros A y B en tu caso PersonaInDTO y Persona, y en todo caso en tu clase de Service inyectas ese IMapper con el qualifier del PersonaInDtoToPersona, de esta forma queda totalmente separado. Como lo tienes ahi el mapper depende de PaisRepository y probablemente el servicio donde inyectas ese mapper tambien tenga alguna dependencia de PaisRepository. Bueno espero haberte ayudado algo, te recomiendo el libro "Arquitectura limpia", aborda mucho estos temas y sobre todo lo relacionado con las relaciones de dependencia y las "razones de cambio", que te aplican en este caso. Un abrazo !
@maximilianocastiglioni96792 жыл бұрын
@@SACAViXTech muchas gracias. Si tenes razon. Opte por terminar de "completarlo" con los objetos pesados que tiene adentro en la clase service..