El desarrollo de API REST es una tarea crítica pero cotidiana. En este paso a paso vamos desde 0 hasta dejar una API robusta construida con herramientas que el mercado demanda actualmente. Espero que les sea de mucha utilidad. Es un gusto compartir contenido a la comunidad 😀
Excelente, muy contento y satisfecho con el curso. Muy bien explicado mucha calidad, muchas gracias por el esfuerzo y tiempo invertido para compartirlo.
la verdad Leonardo sabe y tiene paciencia para enseñar. No es lo mismo saber y demostrar que sabes, a tener la habilidad de enseñar... y Leonardo lo hace muy bien
Muchas gracias por subir contenido tan interesante con tecnologías de TypeScript para Backend, esta plataforma de aprendizaje es admirable por sus cursos gratuitos que aportan un conocimiento significativo en las tecnologias de desarrollo y motivan cada vez más a seguir aprendiendo!
Me gustó el método que utilizas para crear los controllers a partir de clases. Es algo bastante elegante y que no se encuentra en cualquier lugar. Excelente!
Lo que estaba buscando. Yo siempre he recomendado a los nuevos programadores a aprender javascript, ya que te permite trabajar con frontend y backend en este caso con node y express.
Se ve bien el curso, gracias por compartir contenido de valor. Cómo sugerencia, me gustaría ver un curso de lógica de programación impartido por Estefania, me gusta mucho su pedagogía :D
Muy bueno el curso. Faltaría modificar el asociarEstudiante porque como está el código no se pueden asociar n estudiantes a un mismo curso. Lo resolví modificando el findOneBy por findOne trayendo los arreglos relacionados. Muchas gracias!!!
Hno! muchas gracias por compartir este contenido! muy enrriquecedor saber las bases de las APIs, casualmente estoy estudiante Mulesoft y esto me sirvió un monto para entender un poco más de este mundo.. por cierto... un comentario sobre el proceso de utilización de typeorm en las clases, me estaba pasando cuando queria utilizar los objetos Estudiante, Clase o Profesor para los CRUD, no me salia el metodo .find() y resulta en que los videos no se visualiza que la clase del modelo hay que extenderla con BaseEntity.. después de allí me funcionó todo! Saludos
Hola Leonardo!! En el minuto 1:29:15 en donde está el condicional if else yo le puse una ternaria quedó igual de funcional y a mi gusto más legible. Abrazo y gracias por este maravilloso curso!! 🙌🙌
en el tiempo 1:29:28 donde le da el error por duplicidad de respuesta, solo agregue return dentro de los if(err){ return res.status(400).send(err.message);}, así se evitaba que en caso de error se continuara con la ejecución del código y causara la duplicidad
Aunque todo se vea muy sencillo por experiencia propia les recomiendo que se den un paseo por un curso de Javascript y Typescript. No sé, digamos, una semanita de Javascript quiza un poco mas, no se van a volver unos expertos pero lo van a agredecer. Aquellos que ya hayan aprendido mucho de lógica de programación pero no hayan tocado programación orientada a objetos también es recomendable estudiarla y en youtube hay demasiado material al respecto.
Muy bueno el vídeo y felicito al autor de antemano, pero yo separaría la ejecución de las instrucciones SQL de los objetos response y request. Es decir, en una clase o módulo controller validaria el objeto request y le enviaría los datos limpios a otro módulo o clase (DAO), que se encargue de ejecutar el SQL. Luego ese módulo o clase (DAO), le entrega al módulo que lo llamó su respuesta limpia para que sea devuelta usando el objeto response y así separo responsabilidad de cada componente. De paso me evito errores como el ocurrido en 01:28:00 donde más de uno está enviando codigo de estado y respuesta.
1h:29min el error es porque el profesor_id no existe. hay que arreglar el de nuevo curso y el de actualizar metiendo ahi un else.... pero en el en de actualizar hay que hacer un }else if (rows.affectedRows == 1) {
Si claro. Sigue la arquitectura y ajusta los modelos de datos. En el caso de un ecommerce serían: clientes, productos, pedidos, comentarios por ejemplo
Algo que no explicaste en su momento, que para poder utilizar los metodos de ORM como 'find()', tienes que agregarle a la calse 'extends BaseEntity' para darle los metodods que necesitamos directamente.
El desarrollo de API REST es una tarea crítica pero cotidiana. En este paso a paso vamos desde 0 hasta dejar una API robusta construida con herramientas que el mercado demanda actualmente. Espero que les sea de mucha utilidad. Es un gusto compartir contenido a la comunidad 😀
Felicidades profe ❤
Muchas gracia Sofi.
ya lo termine al curso y entendi todo la verdad ni yo sabia que se podia entender tan bien un curso
Excelente, muy contento y satisfecho con el curso. Muy bien explicado mucha calidad, muchas gracias por el esfuerzo y tiempo invertido para compartirlo.
@@CuriosidadesNeo muchas gracias. Motiva saber que el contenido ha sido útil.
Leonardo es mago, lo ha explicado en 3 horas mejor que mi profesor en 1 cuatrimestre con 10 horas de clase a la semana.
Que didáctico Leonardo! Felicitaciones y gracias por semejante explicación.
Muy feliz de hacer este curso, gracias por compartir conocimiento. ¡Un abrazo!
No saben lo que les agradezco por compartir estos conocimientos, me gusto mucho el metodo para hacer la arquitectura
¡Gracias por el aporte! Se entiende mucho mejor gracias a las pausas y explicaciones que da. ¡Éxitos!
un crack de la explicación clara el profe leo, muchas gracias por el aporte !
Leonardo, eres bueno explicando. Agradecido!
la verdad Leonardo sabe y tiene paciencia para enseñar.
No es lo mismo saber y demostrar que sabes, a tener la habilidad de enseñar... y Leonardo lo hace muy bien
Muchas gracias por subir contenido tan interesante con tecnologías de TypeScript para Backend, esta plataforma de aprendizaje es admirable por sus cursos gratuitos que aportan un conocimiento significativo en las tecnologias de desarrollo y motivan cada vez más a seguir aprendiendo!
Me gustó el método que utilizas para crear los controllers a partir de clases. Es algo bastante elegante y que no se encuentra en cualquier lugar. Excelente!
Estoy ansioso por terminar el curso de Node para iniciar con éste ¡Gracias! 😁
Wao, explicas excelentemente bien y al punto
Excelente video. Estoy muy agradecido. Saludos
Lo que estaba buscando. Yo siempre he recomendado a los nuevos programadores a aprender javascript, ya que te permite trabajar con frontend y backend en este caso con node y express.
Excelente curso. Muito obrigado Leonardo. :)
Se ve bien el curso, gracias por compartir contenido de valor.
Cómo sugerencia, me gustaría ver un curso de lógica de programación impartido por Estefania, me gusta mucho su pedagogía :D
¡Gracias por tanto!
Justo lo que estaba buscando.
11:27 Arquitectura de la aplicación
37:52 Conectando la base de datos
1:15:10 Finalizando el CRUD
1:43:57 Inicialindo la API en TS
Excelente, muchas gracias.
Muy bueno el curso. Faltaría modificar el asociarEstudiante porque como está el código no se pueden asociar n estudiantes a un mismo curso. Lo resolví modificando el findOneBy por findOne trayendo los arreglos relacionados. Muchas gracias!!!
Hno! muchas gracias por compartir este contenido! muy enrriquecedor saber las bases de las APIs, casualmente estoy estudiante Mulesoft y esto me sirvió un monto para entender un poco más de este mundo.. por cierto... un comentario sobre el proceso de utilización de typeorm en las clases, me estaba pasando cuando queria utilizar los objetos Estudiante, Clase o Profesor para los CRUD, no me salia el metodo .find() y resulta en que los videos no se visualiza que la clase del modelo hay que extenderla con BaseEntity.. después de allí me funcionó todo! Saludos
angel eres un crack
Esto necesitaba, llevo 2 horas rompiendome la cabeza y era extender el BaseEntity
Excelente , cuando yo sepa más de programación lo voy a hacer.
Muchas gracias.!!!❤
Hola Leonardo!! En el minuto 1:29:15 en donde está el condicional if else yo le puse una ternaria quedó igual de funcional y a mi gusto más legible. Abrazo y gracias por este maravilloso curso!! 🙌🙌
🎉🎉🎉🎉🎉 gracias gracias gracias
muchas gracias
en el tiempo 1:29:28 donde le da el error por duplicidad de respuesta, solo agregue return dentro de los if(err){ return res.status(400).send(err.message);}, así se evitaba que en caso de error se continuara con la ejecución del código y causara la duplicidad
Aunque todo se vea muy sencillo por experiencia propia les recomiendo que se den un paseo por un curso de Javascript y Typescript. No sé, digamos, una semanita de Javascript quiza un poco mas, no se van a volver unos expertos pero lo van a agredecer. Aquellos que ya hayan aprendido mucho de lógica de programación pero no hayan tocado programación orientada a objetos también es recomendable estudiarla y en youtube hay demasiado material al respecto.
Muy bueno el vídeo y felicito al autor de antemano, pero yo separaría la ejecución de las instrucciones SQL de los objetos response y request. Es decir, en una clase o módulo controller validaria el objeto request y le enviaría los datos limpios a otro módulo o clase (DAO), que se encargue de ejecutar el SQL. Luego ese módulo o clase (DAO), le entrega al módulo que lo llamó su respuesta limpia para que sea devuelta usando el objeto response y así separo responsabilidad de cada componente. De paso me evito errores como el ocurrido en 01:28:00 donde más de uno está enviando codigo de estado y respuesta.
1h:29min el error es porque el profesor_id no existe. hay que arreglar el de nuevo curso y el de actualizar metiendo ahi un else.... pero en el en de actualizar hay que hacer un }else if (rows.affectedRows == 1) {
mmm pregunta esta api podria servirme para hacer un ecommercE?
Si claro. Sigue la arquitectura y ajusta los modelos de datos. En el caso de un ecommerce serían: clientes, productos, pedidos, comentarios por ejemplo
Te recomendaría crear primero una migración de la DB, y después si puedes crear las rutas y lo que quieras.
en lo que llegó la base de datos me perdí, podríais poner el enlace a ese contenido porque a partir de ahí ni idea
Es muy necesario saber de TypeScript para tomar este curso? Si sólo sé de JavaScript se me va a dificultar?
Algo que no explicaste en su momento, que para poder utilizar los metodos de ORM como 'find()', tienes que agregarle a la calse 'extends BaseEntity' para darle los metodods que necesitamos directamente.
si, de hecho tenia problemas ahi. nunca explico eso xd
Cuando hago los metodos en postman me funciona que me retorne Hola mundo pero cuando le agrego /estudiantes a la ruta no me funciona, me arroja un 404
Lo volvi a hacer de 0 y me funcionó!
Buenas! tuve problemas con el require, saben como se soluciona
Hola. Recuerda que usamos el proyecto con type=ESM entonces no se usa require sino import. Puede ser ese el problema?
@@LeonardoCastillo79 gracias lo arregle, pero no puedo hacer funcionar las rutas en postman
Tienes que iniciar el servidor y agregar la ruta indicada
Para iniciar el servidor es npm run start
no puedo mostrar lo que trae el body
req.params {}
req.body {}
req.query {}
req.file undefined
req.files undefined
req.headers
podria revisar si realmente esta usando un formato JSON en el body, tuve ese caso en algún momento , compruebe, quiza sea eso.
@@omarolmedo7440 gracias por la repuesta, como vengo del mundo PHP siempre enviaba form-data desde postman y no con raw
PERAAA, YO LO LE VISTO A EL!!!!? Es el del curso de logica con javascript de Alura Latam
Que bueno si hubieras explicado el Postman