Introducción
  • Presentación del Curso
  • ¿Qué debemos saber?
  • Archivos de Ejercicios
  • ¿Cómo tomar el Curso?
  • Instalando el Software Necesario para realizar el Curso
  • Importando los Code Snippets desde Visual Studio 2017
  • Importando los Code Snippets desde Visual Studio 2019
  • Comandos comunes a utilizar en Visual Studio
  • Usando IIS Express
  • Usando Servidor Kestrel
  • Deshabilitar Inicio Automático del Navegador Web
Conceptos Básicos
  • ¿Qué es Web API?
  • ¿Qué es HTTP?
  • Verbos HTTP
  • Códigos de Estatus
Configuración de la Capa de Datos y Primer Controlador
  • Introducción
  • Restauración de la BD desde un Script en Visual Studio 2019
  • Restauración de la BD desde un Script en SQL Server Management Studio
  • Restauración de la BD desde un Archivo de Respaldo
  • Restauración de la BD desde SQL Server Express
  • Creando la Estructura Inicial de nuestro Proyecto (Net Core 2.2)
  • Creando la Estructura Inicial de nuestro Proyecto (Net Core 3.0)
  • Ingeniería Inversa de la Base de Datos
  • Ingeniería Inversa de la Base de Datos (Net Core 3.0)
  • Moviendo las Clases de Entidad al proyecto Models
  • Configuración de DetalleOrden mediante el Fluent Api de Entity Framework
  • Configuración de las Clases Restantes mediante el Fluent Api
  • Agregando Enumeraciones a las Clases Modelo
  • Pluralización de los DbSets
  • Explicación Archivos Program.cs y Startup.cs (.NET Core 2.2)
  • Explicación Archivo Program.cs en .NET Core 3.0
  • Configuración de MVC (NET Core 2.2)
  • Nueva Configuración en Startup para habilitar controladores Web API. NET Core 3
  • Creando nuestro primer Controlador Api Values
  • Estableciendo el Controlador Inicial de Nuestra Aplicación
  • Creación del Controlador Productos
  • Configuración de la Clase Contexto TiendaDbContext
  • Explicación de Atributos de Enrutamiento
  • Explicación del Model Binding o Modelo de Enlace
  • Explicación de ActionResult
Implementación del Controlador Productos
  • Introducción
  • Creación de la Interfaz para el Repositorio de Productos
  • Implementación del Repositorio Productos
  • Configuración del Controlador Productos
  • Constructor del Controlador Productos
  • Implementando el Método Obtener Productos
  • Postman como Cliente para Peticiones HTTP
  • Implementando el Método Obtener Producto por Identificador
  • Implementando el Método Agregar Producto
  • Implementando el Método Actualizar Producto
  • Implementando el Método Eliminar Producto
  • Refactorizando Nombres de las Acciones del Controlador
  • Explicación del Uso de DTOS o Data Transfer Objects (ViewModels)
  • Creación del Proyecto Dtos
  • Configuración de AutoMapper para mapear Dtos y Entidades
  • AutoMapper en el Método Obtener Productos
  • AutoMapper en el Método Agregar Productos
  • AutoMapper en el Método Actualizar Productos
  • Sobre AutoMapper en el Método Delete
  • Configuración Serilog
  • Implementación de Serilog en el Controlador Productos
  • Implementación de Serilog en el Repositorio Productos
Implementación de Controladores Restantes
  • Introducción
  • Implementación Controlador Perfiles
  • Importando nuestra Colección Postman JMusik
  • Depurando el Controlador Perfiles con Postman
  • Implementación Controlador Ordenes
  • Depurando el Controlador Ordenes con Postman
  • Depurando el Método Crear Orden con Postman y Probables Problemas de AutoMapper
  • Sobre la implementación del controlador Usuarios en .NET Core 3
  • Implementación Controlador Usuarios
  • Depurando el Controlador Usuarios
  • Depurando Métodos Adicionales del Controlador Usuarios
Seguridad con JWT (Json Web Tokens)
  • Introducción
  • Configuración del Json Web Token (JWT)
  • Servicio para la Creación del Json Web Token (JWT)
  • Actualización del Repositorio Usuarios
  • Creando el Controlador Sesion y su Método Login
  • Importando la Colección de Postman con integración de JWT
  • Actualizando las Contraseñas de los Usuarios
  • Implementación del Atributo Authorize
  • Implementación de la Seguridad con Roles
Más Buenas Prácticas
  • Métodos de Extensión
  • Negociación de Contenido. Introducción
  • Negociación de Contenido. Cabecera Accept.
  • Negociación de Contenido. Aceptando diversos tipos de formatos.
  • Negociación de Contenido. Restringiendo tipos de formato.
  • Negociación de Contenido. Cabecera Content-Type
  • Negociación de Contenido. Resumen.
  • Paginación
  • Paginación. Clase Paginador
  • Paginación. Implementación Paginador
  • Paginación. Explicación Métodos Repositorio