Características

Duración: 40 horas

Perfil: Avanzado

Dirigido a: Programadores y Analistas .Net

Requisitos previos

Los alumnos necesitarán tener experiencia con Asp.Net y C# para poder comprender la materia del curso con éxito. 

Objetivos

El alumno comprenderá los fundamentos del desarrollo de API’s REST con Asp.Net Core 2

Contenido

  • Perspectiva general del curso
  • Introducción a  REST
    • Introducción
    • Prerrequisitos del curso
    • Herramientas
    • ¿En qué consiste REST?
    • Restricciones de REST
    • El modelo de madurez de Richardson
    • Utilización de ASP.NET Core para construir APIs RESTful
    • Demo – Veamos la solución inicial
    • Resumen
  • Obtención de recursos
    • Introducción
    • Estructuración del contrato exterior
    • Demo – Implementar el contrato externo (Parte 1)
    • En qué consiste el enrutado (routing)
    • Interactuar con recursos a través de métodos HTTP
    • Demostración – Implementar el contrato externo (Parte 2)
    • Modelo de orientación hacia el contrato exterior vs. Modelo de entidades
    • Demo – Cómo obtener una colección de recursos
    • Demo – Introducción a AutoMapper
    • Demo – Obtener un solo recurso
    • La importancia de los códigos de estado
    • Demo – Devolución de códigos de estado adecuados
    • Demo – Gestión de excepciones
    • Demo – Relaciones entre padres e hijos
    • Formatos y negociación de contenidos
    • Demo – Negociación de contenido y formatos de salida
    • Resumen
  • Creación y borrado de recursos
    • Introducción
    • Seguridad e Idempotencia de métodos
    • Demo – Creación de un recurso
    • Demo – Creación de un recurso hijo
    • Demo – Crear recursos hijos asociados a un recurso padre
    • Demo – Creación de una colección de recursos
    • Demo – Trabajar con una matriz de claves y claves compuestas
    • Demo – Ejecutar un POST asociado a un solo recurso
    • Demo – Soporte de tipos de contenido y formatos de entrada adicionales
    • Demo – Borrar un recurso
    • Demo – Borrar un recurso con hijos asociados
    • Borrar una colección de recursos
    • Resumen
  • Actualización de recursos
    • Introducción
    • Demo – Actualización de un recurso (Parte 1)
    • Patrón Repositorio
    • Demo – Actualización de un recurso (Parte 2)
    • Actualización de una colección de recursos
    • Actualizar o insertar (Upserting)
    • Demo – Insertar o actualizar con PUT
    • Actualización parcial de un recurso
    • Demo – Actualización parcial de un recurso
    • Demo – Insertar o actualizar con PATCH
    • Revisión de los métodos HTTP por casos de uso
    • Resumen
  • Validaciones y logging
    • Introducción
    • Validaciones en un entorno RESTful
    • Demo – Validaciones en POST
    • Demo – Validaciones en PUT
    • Demo – Validaciones en PATCH
    • Demostración – Logging de fallos
    • Demo – Logging de excepciones y otras situaciones
    • Demo – Logging a archivo
    • Resumen
  • Implementación de paginación, filtrado y búsqueda
    • Introducción
    • Paginación de colecciones de recursos
    • Principio de ejecución diferida
    • Demo – Paginación de colecciones de recursos (Parte 1)
    • Devolver metadatos de paginación
    • Demo – Paginación de colecciones de recursos (Parte 2)
    • Filtrado y búsqueda
    • Demo – Filtrado de colecciones de recursos
    • Demo – Búsqueda en colecciones de recursos
    • Resumen
  • Implementación de ordenación de recursos y cómo dar forma a los datos
    • Introducción
    • Establecer ordenación en colecciones de recursos
    • Demo – Establecer ordenación en colecciones de recursos (Parte 1)
    • Creación de un servicio de mapeado de propiedades
    • Demo – Creación de un servicio de mapeado de propiedades
    • Demo -Establecer ordenación en colecciones de recursos (Parte 2)
    • Demo – Cómo tener en cuenta los errores de cliente al establecer la ordenación
    • Dando forma a los recursos
    • Demo – Creación de un método para dar forma a los recursos
    • Demo – Modelar una colección de recursos
    • Demo – Crear un diccionario en formato camel-case al serializar a JSON
    • Demo – Cómo modelar un solo recurso
    • Exploración de opciones adicionales
    • Resumen
  • Introducción a HATEOAS
    • Introducción
    • Hypermedia como motor de estado de aplicación
    • Demo – Cómo incorporar HATEOAS
    • Demo – Implementación de  HATEOAS (Enfoque de clase base y de patrón fachada)
    • Demo – Implementación de HATEOAS (Enfoque Dinámico)
    • Resumen
  • HATEOAS avanzado, tipos de medios y versionado
    • Introducción
    • HATEOAS y Negociación de Contenidos
    • Demo – HATEOAS y Negociación de Contenidos
    • Demo – Implementar documentación sobre los servicios mediante un documento raiz
    • Tipos de medios
    • Versionar en REST
    • Demo – Tipos de medios y versionado
    • Soporte de múltiples tipos de medios
    • Otros enfoques y opciones
    • Resumen
  • Caché y Concurrencia
    • Introducción
    • Gestión del caché
    • Modelo de Expiración
    • Modelo de validación
    • Directivas para el control del caché
    • Soporte de cabeceras para el caché
    • Demo – Soporte de cabeceras de caché HTTP
    • Almacenes de caché
    • Demo – Añadir un almacén de caché
    • Gestión de la concurrencia en REST
    • Demo – Gestión de la concurrencia en REST
    • Resumen
  • Protección, prueba y documentación de nuestra API
    • Introducción
    • Limitar y regular la velocidad
    • Demostración – Limitación y regulación de la velocidad
    • Demo – Probando nuestra API con Postman
    • Pruebas automatizadas e integración continua
    • Documentación de nuestra API
    • OPTIONS
    • Demo – Implementar OPTIONS
    • HEAD
    • Demo – Implementación de opciones en HEAD
    • Resumen