Slide 1

Slide 1 text

Como convertirse en un experto en Swagger Lautaro Carro Organizador de Latino .NET Online

Slide 2

Slide 2 text

Las API son la manera más popular de comunicar 2 o más aplicaciones distintas y es de gran importancia tener una buena documentación de la misma.

Slide 3

Slide 3 text

Swagger es elegida por millones de desarrolladores en el mundo por más de 10 años. Hoy en día es indispensable en nuestras APIS.

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Niveles de Conocimiento Junior Semi- Senior Senior

Slide 7

Slide 7 text

Niveles de Conocimiento Junior • ¿Qué es Swagger? • ¿Qué es OpenApi? • Instalación Semi-Senior • Configuración • Personalizar SwaggerUI • Seguridad • Generación de código Senior • Swagger en Producción • Generación de Test Cases • Api First • Alternativas

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Swagger  Swagger es un conjunto de herramientas de software de código abierto para diseñar, construir, documentar y utilizar servicios REST.

Slide 10

Slide 10 text

Swagger  Swagger es un conjunto de herramientas de software de código abierto para diseñar, construir, documentar y utilizar servicios REST.  Documentación Automatizada  Generación de Código  Generación de Casos de Prueba

Slide 11

Slide 11 text

Documento Swagger

Slide 12

Slide 12 text

Documento Swagger

Slide 13

Slide 13 text

Historia 20 11 CREACIÓN SMARTBEAR OPENAPI Tony Tam diseñó una representación JSON simple de la API, basándose en la flexibilidad del estilo de arquitectura REST Anunció que estaba ayudando a crear una nueva organización, bajo el patrocinio de la Fundación Linux La especificación Swagger pasó a llamarse Especificación OpenAPI. OpenApi hoy es Open Source. 20 15 20 16

Slide 14

Slide 14 text

OpenApi Info: versión, nombre, etc. de la API. Contact: datos de contacto del proveedor de la API. License: licencia bajo la cual la API proporciona sus datos. Server: nombres del host, estructura del URL y puertos del servidor a través del cual se dirige la API.

Slide 15

Slide 15 text

OpenApi Paths: rutas relativas a los puntos finales de la API que se utilizan junto con el servidor del objeto. Path Item: operaciones permitidas para una ruta específica como GET, PUT, POST, DELETE. Components: componentes encapsulados que pueden utilizarse varias veces dentro de una definición de API. Operation: especifica, entre otras cosas, los parámetros y las respuestas del servidor que se esperan de una operación.

Slide 16

Slide 16 text

Swagger en nuestras WebApis

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Esquemas de Seguridad  SwaggerUI nos permite autorizarnos mediante los esquemas de seguridad Basic, Bearer y/o OAuth).  Si nuestra API maneja políticas de autorización, es obligatorio que SwaggerUI me permita ingresar credenciales o un token.

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Generación de Código

Slide 21

Slide 21 text

Generación de Código https://openapi-generator.tech/ csharp

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Swagger en Producción  ¿Cómo se debe usar Swagger en Producción?

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Swagger en Producción (excepciones)

Slide 26

Slide 26 text

El enfoque API First El enfoque API First implica tener a las APIS como el primer y principal elemento de su estrategia de productos y servicios. API First asume que el diseño y el desarrollo de una API son anteriores a su implementación. Se diseña, se mockea, se desarrolla y se documenta de forma colaborativa antes que las aplicaciones o servicios clientes sean desarrollados.

Slide 27

Slide 27 text

El enfoque API First

Slide 28

Slide 28 text

El enfoque API First  Utilizando OpenApi podrás diseñar los contractos de las APIS para que sean consistentes y reusables. Antes de comenzar con el código.  Enfoque muy popular en Microservicios.  Permite a equipos de desarrollo trabajar en paralelo  Reduce los costos de desarrollos  Aumenta la velocidad de comercialización  Reduce los riesgos de fallo  Asegura una buena experiencia de desarrollo

Slide 29

Slide 29 text

Generación de Casos de Prueba: Swagger Inspector  Es una aplicación web que sirve para realizar request a los endpoints definidos en el documento de OpenApi. https://inspector.swagger.io/

Slide 30

Slide 30 text

Generación de Casos de Prueba: Postman  Nos permite importar un archivo OpenApi y nos genera todas las request. Nosotros solo debemos codear los test para que se ejecuten automáticamente.

Slide 31

Slide 31 text

Alternativa a SwaggerUI https://github.com/Redocly/redoc

Slide 32

Slide 32 text

Conclusiones  Swagger es un conjunto de herramientas para generar y leer documentos con la especificación OpenApi  Existen muchas herramientas hechas por SmartBear y por otras organizaciones para trabajar con documentos OpenApi  La librería Swashbuckle.AspNetCore provee una gran cantidad de métodos para configurar Swagger y personalizar SwaggerUI  Usar OpenApi mejora considerablemente la experiencia de Desarrollo y de Testing

Slide 33

Slide 33 text

Muchas Gracias! Como convertirse en un experto en Swagger Lautaro Carro (@lauchacarro)