Consumir API REST con

Поделиться
HTML-код
  • Опубликовано: 30 июл 2024
  • En este vídeo te enseño cómo conectar o consumir API REST desde tu aplicación con Angular 17 como todo un PRO usando manejo de errores e interceptors para centralizar tu código y hacerlo mantenible.
    Contenido del vídeo
    ================
    - 00:00 - Introducción
    - 00:31 - Estructura de la app
    - 01:40 - Creando y registrando el service
    - 03:03 - Llamando a la API desde el service
    - 05:33 - Llamando al service desde el componente
    - 11:48 - Agregando manejo de errores
    - 17:05 - Interceptors
    - 19:52 - Implementando un interceptor
    - 23:58 - Agregando variables de entorno
    - 26:40 - Resumen y conclusiones
    Enlaces de interés
    ===============
    - Lista de reproducción con contenido de Angular: • Angular
    - Repositorio con el código: github.com/pedrovelasquez9/an...
    - Únete a las otras redes de la comunidad de Programación en español: programacion-es.dev/redes/
    Conviértete en miembro de este canal para disfrutar de ventajas, sorteos exclusivos dentro de la comunidad y un badge con tu imagen de perfil en la web de Programación en español:
    / @programacion-es

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

  • @andresariascapurro
    @andresariascapurro 7 месяцев назад +2

    Que buena forma de resumir conceptos!
    Muchas gracias por compartir tus conocimientos.

    • @programacion-es
      @programacion-es  7 месяцев назад

      Muchas gracias a ti por comentar!! Un saludo y que tengas buen código!

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

    Gracias por tus videos que son muy útil para mí. Explicas todo muy bien.

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

    Excelente video. Muchas gracias por estos vídeos.

    • @programacion-es
      @programacion-es  7 месяцев назад

      Mil gracias a ti por comentar, me anima un montón a seguir grabando vídeos de estos temas, un saludo y que tengas buen código!!

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

    Acabo de descubrir tu canal, excelente video, muchas gracias por las explicaciones!... Liked!, Subscribed!

    • @programacion-es
      @programacion-es  3 месяца назад

      Muchas graciaaaaas!! Me alegra que te haya sido útil, un saludo y que tengas buen código!!

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

    excelente, me ha ayudado mucho. Gracias (Desde Colombia)

    • @programacion-es
      @programacion-es  7 месяцев назад

      Esoooo, me alegra un montón que te haya sido útil, un saludo y que tengas buen código!!

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

    Muchas gracias por el video, comencé a estudiar Angular hace 1 semana, mi nivel de español es básico y aun así logré integrar una API meteorológica principalmente gracias a tu ayuda. Gracias de nuevo, aprendí mucho mientras miraba el video 3 veces para conocer los detalles y solucionar los errores. Buenos estudios para todos.

    • @programacion-es
      @programacion-es  5 месяцев назад

      Muchísimas gracias por tu comentario!!! Me alegra un montón saber que te ha sido útil el vídeo, un gran saludo y que tengas buen código!!

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

    Genial! muy claro

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

    excelente video, se entiende muy bien el concepto

    • @programacion-es
      @programacion-es  Месяц назад

      Grandeeee, me alegra un montón que te haya sido útil =)

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

    muchas gracias, este tutorial es perfecto

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

    excelente contenido, yo normalmente implemento estrategias de gestion de errores para que la aplicacion no deje de funcionar o al menos hacer todo lo que podamos, por un lado se puede seguir el replace strategy
    , el rethrow strategy
    y el retry strategy (reintentar n veces la llamada al servidor)

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

      Grandeeeee, gracias por el aporte, justo tengo planeado algún vídeo de operadores útiles de rxjs, me anoto agregar estos =)

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

    excelente video, muy bueno . Podrías hacer un video haciendo una conexión a una base de datos en mysql o postgresql.

    • @programacion-es
      @programacion-es  7 месяцев назад +1

      Claro! Tienes uno donde lo hago con Java + postgresql y Docker aquí: ruclips.net/video/uqBZEL9m2V4/видео.html también hay uno con nodejs + mongoDB, me anoto grabar uno con node, express y postgresql o mysql =)

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

    Genial Video!

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

    Excelente, Messirve para la integracion de servicios que estoy haciendo actualmente! (aguante LOTR)

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

    Muy bueno el video, tambien seria interesante hacer los tests de rxjs, por ejemplo con jest, para ver como se harian.

    • @programacion-es
      @programacion-es  Месяц назад

      Me anoto una serie de testing para cubrir servicios y componentes =)

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

    excelente muchas gracias, podrias hacer un ejemplo de esto mismo, usando signals?

    • @programacion-es
      @programacion-es  6 месяцев назад

      Si! Pronto se vienen vídeos con temas de signals =)

  • @blackdeath166
    @blackdeath166 7 месяцев назад +2

    Buen video, como utilizarias interceptors con peticiones a una api Graphql?

    • @programacion-es
      @programacion-es  7 месяцев назад +1

      Échale un ojo a este gist con un ejemplo de interceptor usando Apollo Angular gist.github.com/Supamiu/354030d8fc09b93437985cdefe88d345

  • @oscarperez-kp3qd
    @oscarperez-kp3qd 5 месяцев назад +2

    🤣🤣 juraba que era Leifer Mendez

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

    jejeje en mi caso pase de angular 15 a 17 y wou gran cambio ee...

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

    no me he enterado de nada, pero gracias por el aporte

    • @programacion-es
      @programacion-es  4 месяца назад

      Poco a poco, tienes otros vídeos más introductorios a conceptos de Angular en el canal por si les quieres echar un ojo 😎🤘👨‍💻

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

    Gracias, muy bien explicado.
    En este ejercicio importamos el environment.development. Angular durante el proceso del build hace el reemplazo de ese archivo como indicamos en el angular.json, pero que pasa si importo de environment, me refiero a hay alguna diferecia? (hice la prueba y seguia funcionando, pero quiero saber mas a fondo si sabes que pasa, no sabria como buscar)
    Gracias

    • @programacion-es
      @programacion-es  2 месяца назад

      Al final los environments los pone angular para poder tener la configuración por entorno, pero si tienes una config para todo e importas directamente un environment en dev y prod con la misma configuración, servirá, no tendrás la separación, pero no evitará que funcione. Al final depende de ti y cómo organices los entornos y config de tu app =)

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

    Cuál tipografía y tema de VSCode es el que utilizas?

    • @programacion-es
      @programacion-es  6 месяцев назад

      La fuente es comic mono y el tema Palenight =)

  • @drmencos
    @drmencos 18 дней назад

    ¿Aún es necesario declarar la variable production: true en el environment? Creí que Angular ya optimizaba sin necesidad de la variable, y sin tener que usar --prod ... Y gracias! Excelente contenido!

    • @programacion-es
      @programacion-es  11 дней назад +1

      Si, a partir de la v17 por defecto hace el build para prod y puedes tener otras configuraciones custom si lo necesitas, por ejemplo, para dev =)

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

    Hola muy buen video. Tengo. una duda ¿Si quiero manejar errores customizados para cada o servicio, esto deberia ir en el servicio en lugar de un interceptor general? o ¿Se pueden crear interceptors a nivel de componente?
    Saludos.

    • @programacion-es
      @programacion-es  3 месяца назад +1

      Podrías validar cada caso en el service que corresponda y tener, por ejemplo, centralizado un sistema de notificaciones para el usuario para que no repitas errores comunes en componentes también =)

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

      @@programacion-es Muchas gracias. Saludos.

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

    Explore el canal no encontre o no vi si cuantas con algun video que enseñe el paso de hacer login usando httpclient en el angular 17 teniendo un backend que nos devuelve token en un post. Gracias!

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

      que dificultad tienes?

    • @programacion-es
      @programacion-es  3 месяца назад +1

      Me lo anoto para grabarlo =)

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

      @@jhonandersonperaltaochoa9833 gracias! Mas que duda era sobre querer escuchar la version de como interpreta este tema de esa conexión para login, token refresh, usar local storage y como lo explicaría, me gustan sus apuntes. Gracias por tú interés!

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

    Qué diferencia hay entre los interceptors y los guards?

    • @programacion-es
      @programacion-es  2 месяца назад +1

      Los interceptors interceptan las llamadas http para poder modificarlas de forma centralizada y agregar validaciones, headers, etc. Los guards añaden validaciones, lógica o lo que necesites al navegar por las rutas de tu aplicación, tienes un vídeo de guards aquí: ruclips.net/video/ODIw02GU9r0/видео.html

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

    Tengo dudas sobre el tema de cachear las llamadas a la API para mejorar el rendimiento y evitar llamadas innecesarias. Como es el flujo de como sabe angular que esa data fue cambiada y volver a hacer la llamada. Un interceptor para el tema de la gestion de la cache tiene sentido? Que de dudas 😅

    • @programacion-es
      @programacion-es  4 месяца назад +1

      Puedes hacerlo con un interceptor y elegir qué llamadas deberían ser cacheadas y qué llamadas no y almacenar la data del response en un service o, incluso en el sessionStorage. Para controlar el refresh de la cache, puedes definir un tiempo de validez y validar que, pasado ese tiempo, se vuelva a hacer la llamada a la API y se actualice la cache, por eso se recomienda cachear aquello que sabes que no cambia o que cambia muy poco en el tiempo.

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

      @@programacion-es gracias!! Donde puedo aprender más sobre este tema y que estrategias seguir para esos casos?

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

    Por favor, puede hacer zoom al VSCode? Soy miope 😢

    • @programacion-es
      @programacion-es  2 месяца назад +1

      También tienes el código en el repositorio, el enlace en la descripción del vídeo =)

  • @lucass8049
    @lucass8049 21 день назад

    Como hace para tener esa tipografia en Visual Code?

    • @programacion-es
      @programacion-es  21 день назад +1

      Aquí te muestro cómo: ruclips.net/user/shortsfbVuf69bjdA?feature=share

    • @lucass8049
      @lucass8049 21 день назад

      @@programacion-es gracias maestro!

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

    vengo de react y usaba Axios, quede asi O.o