NET03
Swagger <3 WebAPI
Nicolò Carandini [MVP]
n.carandini@outlook.com
@TPCWare
•Dove e perché serve
•Cos'è e come si usa
•Demo
•Casi d’uso
Swagger
DOVE SI USA?
Swagger
Internet
Frontend BackendINTERNET
Response body
Web Browser
ASP.NET
MVC | SPA
WebForms
ASP.NET
WebAPI
Mobile
Response body
Servizi REST
Il Client
• Usa i metodi HTTP per identificare l’azione (Get/Post/Put/Delete).
• Usa l’URL per identificare la risorsa e passare eventuali parametri.
• Usa il body per i dati inviati o ricevuti, di solito in XML o JSON.
Il Servizio
• Espone un insieme di azioni richiamabili dal client, ciascuna con i
parametri e dati del body richiesti ed opzionali, chiamato API
(Application Program Interface) del servizio.
PER FARE COSA?
Swagger
Il problema
Ma lo sai che senza
la documentazione
non possiamo
fare nulla?
Ma no, non c’è
problema.
Faccio un po’ di
prove con Fiddler
e scopro subito
quali dati
richiede!
La documentazione dell’API
Inizialmente viene fatta
poi diventa incompleta
e alla fine è inutilizzabile
Come mantenerla
aggiornata?
Swagger
SWAGGER TO THE RESCUE !
Come funziona?
Swagger
•E’ una specifica Open Source.
•E’ lo standard di fatto per la descrizione delle
RESTful API.
•Usa un linguaggio JSON like per descrivere le
azioni, i parametri e la struttura dei dati
dell’API.
Swagger
I Tool di Swagger
L’utilità di Swagger risiede nei tool che usano la sua sintassi,
come ad esempio:
Swashbuckle
• Produce il documento Swagger di una WebAPI ASP.NET
Swagger.UI
• Genera, a partire da un documento Swagger, un set di pagine html
di documentazione delle API.
Swashbuckle
• Fornito tramite NuGet Package.
• Genera automaticamente il documento Swagger.
• Contiene al suo interno Swagger.UI.
• Genera lo schema dei dati direttamente dal codice.
Swagger UI
Ciclo di produzione
5
Swagger.UI
4
WebAPI
1
3
SwashBuckle
2
Con i tool basati su Swagger possiamo
generare la documentazione in modo
automatico partendo dal codice.
Swagger è la soluzione
Configurazione
Swagger
File di configurazione
• Consente la personalizzazione della
documentazione Swagger generata e della
Swagger UI.
• Utilizza e include automaticamente i commenti
Xml del codice.
• Supporta la descrizione degli schemi ApiKey,
Basic Auth and OAuth2.
Includere la documentazione XML del codice
1. Abilitare la generazione della documentazione XML
2. Abilitare l’uso della documentazione XML in Swagger UI:
Proviamolo!
Swagger
Unconference service
Unconference service Model
DEMO
Unconference
Casi d’uso
Swagger
Tutte le operazioni eseguibili in Azure
sono esposte tramite REST API.
Microsoft usa Swagger per generare
in automatico gli SDK di Azure.
Azure SDK
Logic Apps
Microsoft usa Swagger per
generare in automatico la User
Interface dell’editor.
Domande?
Materiale su
http://www.communitydays.it/

Swagger loves webapi