Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

{ "name": "Lautaro Carro", "username": "@lauchacarro ", "award": "Microsoft MVP ", "certifications": [“AZ-900", “AZ-204"] "activities": ["Latino .NET Online", "Rest Of My Cloud"] }

Slide 3

Slide 3 text

TEMAS ❑ La historia de MinimalAPI ¿Cómo surgió? ❑ Repasar Arquitectura Tradicional de 3 Capas ❑ Implementar las Mejores Practicas ❑ Conclusiones

Slide 4

Slide 4 text

¿Qué es MinimalAPI? ❑Minimal API es un enfoque ligero y moderno para construir APIs, introducido en .NET 6. ❑ Su objetivo es permitirte escribir APIs rápidas, limpias y concisas sin la necesidad de controladores (Controllers), clases adicionales ni mucha configuración.

Slide 5

Slide 5 text

La historia de MinimalAPI

Slide 6

Slide 6 text

.NET Minimalista ❑ Quitaron la clase Startup.cs ❑ Program.cs sin declaraciones de clase ❑ Los usings pueden ir en un archivo global ❑ Los namespaces ya no necesitan llaves/Brackets ❑ Simplificaron el desarrollo de WebApis con MinimalApi

Slide 7

Slide 7 text

Las criticas a Microsoft ❑ Se decía que MinimalApi es una copia de NodeJs ❑ Se decía que Microsoft quería retener a los devs para que no migren a otra tecnología. ❑ Al principio con MinimalApi no lograbas hacer todo lo que se podía hacer con Controllers

Slide 8

Slide 8 text

Arquitectura Tradicional de 3 Capas

Slide 9

Slide 9 text

Arquitectura Tradicional (3 Capas) Presentación (UI/Api/Consola) Aplicación (Lógica de negocio) Infraestructura (DB, Servicios Ext)

Slide 10

Slide 10 text

Practica 1: Versionado de Apis

Slide 11

Slide 11 text

Grupo de Endpoints ❑ Son una forma de agrupar endpoints relacionados bajo una raíz común, ❑ Permite realizar configuraciones compartida. ❑ Se pueden anidar grupos dentro de grupos ❑ Son una gran opción para versionado de apis

Slide 12

Slide 12 text

Grupo de Endpoints /Api /v1 /Products Create Product Update Product Get All Products

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Practica 2: Mantener estilo Minimalista

Slide 15

Slide 15 text

IEndpointRouteBuilder VS RouteHandlerBuilder Característica IEndpointRouteBuilder RouteHandlerBuilder Tipo Interfaz para agregar rutas Clase para configurar un endpoint mapeado Contexto de uso Nivel global o grupal Nivel individual de cada endpoint Se usa para Crear y registrar rutas o grupos de rutas Agregar configuraciones a un endpoint Métodos comunes MapGet, MapPost, MapGroup, MapControllers, etc. RequireAuthorization, WithOpenApi, WithName, etc. Fluidez/Encadenamiento No encadena llamadas Sí, permite llamadas encadenadas (fluent API) Uso común en Minimal API Definir estructura general y agrupar rutas Configurar detalles como autenticación, Swagger, validaciones

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Practica 3: Sola una linea de código

Slide 18

Slide 18 text

Patrón Result ❑ El patrón Result encapsula el resultado de una operación, incluyendo su éxito o error. ❑ Evita el uso excesivo de excepciones para controlar errores esperados. ❑ Generalmente contiene una propiedad IsSuccess y un mensaje o dato asociado. ❑ Facilita código más limpio y predecible al manejar flujos de éxito y fallo de forma explícita.

Slide 19

Slide 19 text

Patrón Result

Slide 20

Slide 20 text

Patrón Result

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Conclusiones

Slide 23

Slide 23 text

CONCLUSIONES ❑ MinimalAPI esta construido con Métodos de Extensión. Necesitamos de los mismos para poder trabajar con estos endpoints. ❑ El objetivo de mantener todo minimalista es que solo se preocupen por la lógica de negocio y no en como crear los endpoints ❑ Con MinimalApi podes hacer exactamente lo mismo o más que con Controllers…. Solo que más sencillo

Slide 24

Slide 24 text

MUCHAS GRACIAS