Portada del curso Construyendo Web APIs RESTful con ASP.NET Core

Curso en línea

Construyendo Web APIs RESTful con ASP.NET Core

¡Aprende a construir y publicar cualquier Web API que te propongas!

Impartido por Felipe Gavilán

Opciones de acceso

Elige cómo quieres aprender

Compra este curso una sola vez o accede al catálogo completo mediante una suscripción.

Pago único

Compra individual

$9.99 USD

  • Acceso permanente a este curso.
  • El curso permanece en tu biblioteca.
  • Sin renovación automática.
Comprar este curso

Detalles del curso

Información principal del curso

Nivel
Principiante
Duración aproximada
20 h 21 min
Contenido
243 clases
Actualizado

Herramientas que utilizarás

Tecnologías y versiones

  • ASP.NET Core Versión 9

Sobre este curso

Una ruta práctica y directa

Aprende a desarrollar Web APIs con ASP.NET Core desde cero con este increíble curso. Vamos a ver todo el ciclo de vida del desarrollo de un Web API, desde crear la solución, desarrollar los endpoints, trabajar la manipulación de recursos, hasta su puesta en producción en Azure. Aprende también a utilizar GitHub Actions para configurar un pipeline de integración continua y entrega continua, para poder publicar tus proyectos desde su código fuente en Github. A lo largo de este curso iremos desarrollando un proyecto completo y profesional, donde trabajamos: - Subida de archivos - Sistema de usuario con roles - Validaciones - Base de datos de SQL Server - Relaciones entre tablas - Entity Framework Core - Pruebas unitarias y de integración - Manejo de errores en producción - Y más! Los Web APIs son fundamentales en el desarrollo web moderno. Ya que nos permiten centralizar y proteger la lógica de nuestras soluciones. Además de que es en un Web API que típicamente tenemos acceso a una base de datos central con la cual todos tus usuarios se pueden comunicar. Ya sea que construyas una red social, una aplicación de deliveries, o incluso una app de oficina, un Web API te permite trabajar el back-end de aplicaciones móviles (Android, iOS, MAUI, etc.), web (React, Angular, Blazor, Vue, etc.), desktop, entre otros.

Contenido del curso

Currículo completo

12 secciones 243 clases

Sección 1 Fundamentos de Web API y HTTP 7 clases
  1. Introducción Vista previa gratis
  2. ¿Qué es un API? Vista previa gratis
  3. ¿Qué es REST? - Principios de REST Vista previa gratis
  4. Métodos HTTP Vista previa gratis
  5. Anatomía de una petición HTTP Vista previa gratis
  6. Códigos de Estatus HTTP Vista previa gratis
  7. Resumen Vista previa gratis
Sección 2 Configurando el Ambiente 20 clases
  1. Introducción Contenido restringido
  2. ¿Qué es .NET? Contenido restringido
  3. ¿Qué es C#? Contenido restringido
  4. Introducción a ASP.NET Core Contenido restringido
  5. Controladores y Minimal APIs Contenido restringido
  6. Instalando .NET Contenido restringido
  7. Instalando el EF Core CLI Contenido restringido
  8. Instalando Visual Studio Contenido restringido
  9. Instalando Visual Studio Code Contenido restringido
  10. Instalando SQL Server Contenido restringido
  11. Instalando Postman Contenido restringido
  12. Creando el Web API con VS Contenido restringido
  13. Creando el Web API con VS Code Contenido restringido
  14. Explorando el Web API - Soluciones y Proyectos Contenido restringido
  15. ¿Qué es Nullable? Contenido restringido
  16. Usings Implícitos Contenido restringido
  17. Archivo LaunchSettings Contenido restringido
  18. Clase Program Contenido restringido
  19. Archivos AppSettings Contenido restringido
  20. Resumen Contenido restringido
Sección 3 Nuestro Primer Web API 11 clases
  1. Introducción Contenido restringido
  2. Iniciando el Desarrollo del Web API Contenido restringido
  3. Instalando Entity Framework Core Contenido restringido
  4. Leyendo y Creando Recursos desde el Controlador Contenido restringido
  5. Obteniendo un Registro Por su Id Contenido restringido
  6. Actualizando Recursos Contenido restringido
  7. Borrando Recursos Contenido restringido
  8. Creando una Segunda Tabla Contenido restringido
  9. CRUD de Libros Contenido restringido
  10. Consultando la Data Relacionada Contenido restringido
  11. Resumen Contenido restringido
Sección 4 Fundamentos de ASP.NET Core y Web API 24 clases
  1. Introducción al Módulo 4 Contenido restringido
  2. Controladores y Acciones Contenido restringido
  3. Explorando Nuestro Controlador Contenido restringido
  4. Reglas de Ruteo Contenido restringido
  5. Restricciones de Ruta Contenido restringido
  6. Tipos de Datos de Retorno Contenido restringido
  7. Programación Asíncrona Contenido restringido
  8. Introducción al Model Binding Contenido restringido
  9. Validaciones por Defecto Contenido restringido
  10. Otras Validaciones Por Defecto Contenido restringido
  11. Validaciones Personalizadas por Atributo Contenido restringido
  12. Validaciones Personalizadas por Modelo Contenido restringido
  13. Validando desde el Controlador - Validando Contra la BD Contenido restringido
  14. Inyección de Dependencias y Acoplamiento Contenido restringido
  15. Utilizando el Principio de Inversión de Dependencias Contenido restringido
  16. Servicios en ASP.NET Core Contenido restringido
  17. Ejemplo de Tiempo de Vida de los Servicios Contenido restringido
  18. Usando Un Singleton Para Nuestro Repositorio en Memoria Contenido restringido
  19. ¿Y qué hacemos con Entity Framework Core? Contenido restringido
  20. Loggers Contenido restringido
  21. Introducción al Middleware Contenido restringido
  22. Ejemplos de Middleware Contenido restringido
  23. Colocando los Middlewares en Su Propia Clase Contenido restringido
  24. Resumen Contenido restringido
Sección 5 Manipulando Recursos 24 clases
  1. Introducción al Módulo 5 Contenido restringido
  2. Limpiando el Proyecto Contenido restringido
  3. Repaso de Cómo Configurar EF Core Contenido restringido
  4. Repaso de Cómo Insertar Registros en la Base de Datos Contenido restringido
  5. Creando Recursos con Post Contenido restringido
  6. Nombres, Apellidos y Datos Sensibles Contenido restringido
  7. DTOs y Automapper Contenido restringido
  8. DTOs de Libros Contenido restringido
  9. DTOs Que Suman Contenido restringido
  10. Leyendo Registros con EF Core Contenido restringido
  11. Actualizando Recursos Contenido restringido
  12. HTTP Patch y JSON Patch Contenido restringido
  13. Actualizando Solo Algunos Campos con HTTP PATCH Contenido restringido
  14. Borrando Recursos Contenido restringido
  15. Relación Uno a Muchos Contenido restringido
  16. Controlador de un Recurso Dependiente Contenido restringido
  17. Relación Muchos a Muchos Contenido restringido
  18. Insertando Datos en una Relación Muchos a Muchos Contenido restringido
  19. Actualizando Registros de Relaciones Muchos a Muchos Contenido restringido
  20. Obteniendo Data Relacionada en Una Relación Muchos a Muchos Contenido restringido
  21. Creando una Recurso con sus Recursos Relacionados Contenido restringido
  22. Creando una Colección de Recursos Contenido restringido
  23. Obteniendo una Colección de Recursos Contenido restringido
  24. Resumen Contenido restringido
Sección 6 Configuraciones 15 clases
  1. Introducción Contenido restringido
  2. Introducción a las Configuraciones Contenido restringido
  3. Ejemplo de IConfiguration Contenido restringido
  4. Secciones - GetChildren Contenido restringido
  5. Usando el AppSettings Contenido restringido
  6. Variables de Ambiente Contenido restringido
  7. Orden de Declaración de los Proveedores de Configuración Contenido restringido
  8. User Secrets Contenido restringido
  9. Línea de Comandos Contenido restringido
  10. Diccionario en Memoria como Proveedor Contenido restringido
  11. Patrón en Opciones Contenido restringido
  12. Utilizando IOptionsSnapshot Contenido restringido
  13. Utilizando IOptionsMonitor Contenido restringido
  14. Consideraciones de Seguridad Contenido restringido
  15. Resumen Contenido restringido
Sección 7 Seguridad 27 clases
  1. Introducción al Módulo 7 Contenido restringido
  2. Limpiando la App Contenido restringido
  3. Autenticación y Autorización Contenido restringido
  4. Configurando Identity Contenido restringido
  5. Authorize y AllowAnonymous Contenido restringido
  6. Registrando Usuarios Contenido restringido
  7. Login de Usuarios Contenido restringido
  8. Enviando el JWT Contenido restringido
  9. Relación Entre Usuarios y Comentarios Contenido restringido
  10. Obteniendo al Usuario Logueado Contenido restringido
  11. Utilizando el Servicio de Usuarios Contenido restringido
  12. Renovando el Token Contenido restringido
  13. Configurando la Autorización Basada en Claims Contenido restringido
  14. Agregando una Columna a la Tabla de Usuarios Contenido restringido
  15. Obteniendo el Listado de Usuarios Contenido restringido
  16. Deslogueo Contenido restringido
  17. Introducción a CORS Contenido restringido
  18. Experimentando un Error de CORS Contenido restringido
  19. Configurando CORS en ASP.NET Core Contenido restringido
  20. Retornando Cabeceras Personalizadas - CORS Contenido restringido
  21. Entendiendo la Encriptación Contenido restringido
  22. Encriptación en ASP.NET Core Contenido restringido
  23. Ejemplo Práctico de Encriptación Limitada por Tiempo - Links que Expiran Contenido restringido
  24. Llaves de Protección de Datos Contenido restringido
  25. Entendiendo Hashing Contenido restringido
  26. Hashes en ASP.NET Core Contenido restringido
  27. Resumen Contenido restringido
Sección 8 Escenarios Avanzados 40 clases
  1. Introducción Contenido restringido
  2. Limpiar Contenido restringido
  3. Instalando Swagger Contenido restringido
  4. Agregando Informaciones Extras a Swagger Contenido restringido
  5. Agregando Descripciones a las Acciones Contenido restringido
  6. Swagger y JWT Contenido restringido
  7. Personalizando Los Endpoints En los Que Swagger usa JWT - IParameterFilter Contenido restringido
  8. Paginación Contenido restringido
  9. Paginación en Libros Contenido restringido
  10. Preparando el Terreno Para Guardar Imágenes Contenido restringido
  11. Salvando Imágenes en Azure Contenido restringido
  12. Salvando Imágenes Localmente Contenido restringido
  13. Filtros Dinámicos con EF Core Contenido restringido
  14. Ordenado Dinámico Contenido restringido
  15. Borrado Lógico y Filtros Globales Contenido restringido
  16. Implementando Cache con OutputCache Contenido restringido
  17. Limpiando el Cache Contenido restringido
  18. Introducción al Cache Distribuido Contenido restringido
  19. Creando una Base de Datos en Redis Contenido restringido
  20. Utilizando Redis en ASP.NET Core Contenido restringido
  21. Introducción a los Filtros Contenido restringido
  22. Creando Nuestro Primer Filtro Contenido restringido
  23. Filtros Que Aceptan Parámetros Contenido restringido
  24. Filtros Globales Contenido restringido
  25. Filtro Para Centralizar Validaciones Repetidas Contenido restringido
  26. Manejo de Errores Contenido restringido
  27. Versionando el Web API Contenido restringido
  28. Versionando el Web API con la URL Contenido restringido
  29. Evitando Repetición de Código al Versionar Contenido restringido
  30. Swagger y Versionamiento Contenido restringido
  31. Introducción a HATEOAS Contenido restringido
  32. Implementando HATEOAS Contenido restringido
  33. Agregando Otras Rutas Contenido restringido
  34. Removiendo Rutas las Cuales el Usuario No Puede Usar Contenido restringido
  35. Enlaces HATEOAS en un DTO Contenido restringido
  36. Enlaces de HATEOAS en un Listado Contenido restringido
  37. Excluir HATEOAS con un Query String Contenido restringido
  38. HATEOAS y Filtros (Parte 1) Contenido restringido
  39. HATEOAS y Filtros (Parte 2) Contenido restringido
  40. Resumen Contenido restringido
Sección 9 Pruebas Automáticas 31 clases
  1. Introducción Contenido restringido
  2. Limpiando el Proyecto Contenido restringido
  3. ¿Qué es una Prueba? Contenido restringido
  4. Pruebas Automáticas Contenido restringido
  5. Pruebas Unitarias Contenido restringido
  6. Nuestra Primera Prueba Unitaria Contenido restringido
  7. Ejecutando una Misma Prueba con Distintos Valores Contenido restringido
  8. Agregando Más Pruebas Unitarias Contenido restringido
  9. Probando EF Core Contenido restringido
  10. Preparándonos para Probar Controladores Contenido restringido
  11. Probando el Controlador de Autores - Obtener por Id Contenido restringido
  12. Probando la Creación de un Autor Contenido restringido
  13. Verificando que usemos una dependencia Contenido restringido
  14. ¿Por que usar varios contextos? - Evitando Falsos Positivos Contenido restringido
  15. Evitando Repetir Código Contenido restringido
  16. Probando el Put de Autores Contenido restringido
  17. Probando el Patch de Autores Contenido restringido
  18. Probando el Delete de Autores Contenido restringido
  19. Probando un Método que usa el HttpContext Contenido restringido
  20. Probando un Método que usa Claims Contenido restringido
  21. Preparándonos para Probar Login y Registro Contenido restringido
  22. Probando los Métodos de Registro y Login Contenido restringido
  23. Pruebas de Integración Contenido restringido
  24. Configurando las Pruebas de Integración en ASP.NET Core Contenido restringido
  25. Nuestra Primera Prueba de Integración Contenido restringido
  26. Verificando que una Acción Está Protegida Contenido restringido
  27. Métodos Auxiliares para Crear Usuarios en Pruebas de Integración Contenido restringido
  28. Verificando que Sólo un Admin Pueda Crear un Recurso Contenido restringido
  29. Probando que un Usuario no Pueda Borrar el Comentario de Otro Contenido restringido
  30. Probando que un Filtro se Ejecuta Contenido restringido
  31. Resumen Contenido restringido
Sección 10 Despliegues 13 clases
  1. Introducción Contenido restringido
  2. Publicando en Azure - Managed Identity Contenido restringido
  3. Publicando en Azure - Usuario y Password Contenido restringido
  4. Publicando en Azure usando VS Code Contenido restringido
  5. ¿Qué hacer si la app no sube? Contenido restringido
  6. Viendo errores en producción Contenido restringido
  7. Publicando en IIS Contenido restringido
  8. Integración continua y Entrega Continua Contenido restringido
  9. Subiendo el código a GitHub Contenido restringido
  10. Breve Introducción a los GitHub Actions Contenido restringido
  11. Implementando la Integración Continua Contenido restringido
  12. Implementando la Entrega Continua Contenido restringido
  13. Resumen Contenido restringido
Sección 11 Bono: Construyendo un API con Suscripciones 19 clases
  1. Introducción Contenido restringido
  2. Lo Que Haremos Contenido restringido
  3. Preparando el Proyecto Contenido restringido
  4. Entidad Llave Contenido restringido
  5. Gestionando las Llaves Contenido restringido
  6. Limitando las Peticiones Por Día Contenido restringido
  7. Usando un Atributo Personalizado Para Deshabilitar la Limitación de Peticiones Contenido restringido
  8. Restricciones de Llaves Contenido restringido
  9. Restricciones por Dominio Contenido restringido
  10. Restricciones por IP Contenido restringido
  11. CRUD Restricciones por Dominio Contenido restringido
  12. CRUD Restricciones por IP Contenido restringido
  13. Usuarios Mala Paga Contenido restringido
  14. Entidades Facturas Contenido restringido
  15. Emitiendo Facturas Contenido restringido
  16. Tarea Recurrente Para Emitir Facturas Contenido restringido
  17. Tarea Recurrente Para Procesar Facturas No Pagadas Contenido restringido
  18. Saldando Facturas Contenido restringido
  19. Resumen Contenido restringido
Sección 12 Bono: Rate Limiting 12 clases
  1. Introducción Contenido restringido
  2. Introducción al Rate Limiting Contenido restringido
  3. Configuración Básica - Global Contenido restringido
  4. El Problema de Limitar por IP Contenido restringido
  5. Uso de Políticas Personalizadas por Endpoint Contenido restringido
  6. Algoritmos Disponibles Contenido restringido
  7. Demo: Algoritmos Disponibles Contenido restringido
  8. Respuestas Personalizadas Contenido restringido
  9. Encolando Peticiones (Queues) Contenido restringido
  10. Limitando por Usuario Autenticado Contenido restringido
  11. Reflexiones Acerca del Rate Limiting Contenido restringido
  12. Resumen Contenido restringido

Al finalizar, podrás…

Lo que aprenderás

  • Construir Web APIs con .NET Core
  • Publicar Web APIs en Azure
  • Utilizar Azure DevOps para configurar integración y entrega continua (CI/CD)
  • Desarrollar Web APIs RESTful

Aplica lo aprendido

Resultado práctico

Al finalizar el curso podrás desarrollar Web APIs profesionales con ASP.NET Core

Antes de comenzar

Requisitos previos

  • Conocimientos básicos de C# (saber qué es una clase, el condicional IF, cómo invocar una función)

¿Es para ti?

Este curso es para ti si…

  • Programadores de .NET que quieren aprender a construir Web APIs
Volver al catálogo