A continuación les comparto las cosas que fueron implementadas dentro de este proyecto, todas esto será parte de un curso que estaré publicando en YouTube dentro poco, en cuando lo tenga lista les compartiré la URL.
Por lo pronto aquí está el código fuente final.
- Creando un API Project
- Agregando un Data Store
- Implementando Outer Facing Contract
- Obteniendo un Single Resource
- Retornando Correct Status Codes
- Trabajando con Content Negotiation y Output Formatters
- Separando Entity Model y Outer Facing Model
- Mejorando Action Return Types con ActionResult
- Agregando AutoMapper a nuestro proyecto
- Usando AutoMapper
- Trabajando con Parent/Child Relationships
- Retornando un Single Child Resource
- Manejando Faults
- Soportando HEAD
- Filtrando Resource Collections
- Búsqueda a través de Resource Collections
- Agrupando Action Parameters en un solo objeto
- Creando un Resource
- Creando un Child Resource
- Creando un Child Resources junto con un Parent Resource
- Creando un Collection of Resources
- Trabajando con Array Keys y Composite Keys
- Manejo de POST a un Single Resource
- Soportando OPTIONS
- Soportando Additional Content-type Values e Input Formatters
- Validando Input con Data Annotations
- Class-level Input Validation con IValidatableObject
- Class-level Input Validation con un Custom Attribute
- Personalizando Error Messages
- Personalizando Validation Error Responses
- Actualizando Resource
- Validando Input al actualizar un Resource con PUT
- Upserting con PUT
- Actualizacion Parcial de un Resource
- Validando Input al actualizar un Resource con PATCH
- Retornando ValidationProblems del Controller Actions
- Upserting con PATCH
- Validando Input al realizar Upserting con PATCH
- Eliminando un Resource
- Eliminando un Resource con Child Resources