Swagger-Net - Documentazione dinamica: differenze tra le versioni

Da Webmobili Wiki.
Creata pagina con "Con il Framework 4.8 , in un un '''contesto di WebApi''', Swagger interviene generando una documentazione interattiva HTML che prende come sorgente i modelli dei dati e le lor..."
 
Riga 9: Riga 9:


=== Route personalizzata ===
=== Route personalizzata ===
Siccome andare su <code>/swagger</code> ci fa schifo, cambiamo l'impostazione della route aggiungendo il parametro ''routeTemplate'' alla configurazione di Swagger  SwaggerUI
Siccome runnare su <code>/swagger</code> ci fa schifo, cambiamo l'impostazione della route aggiungendo il parametro ''routeTemplate'' alla configurazione di Swagger  SwaggerUI
<syntaxhighlight lang="c#">
<syntaxhighlight lang="c#">
GlobalConfiguration.Configuration.EnableSwagger("docs/{apiVersion}", c => { c.SingleApiVersion("v1", "Designbest REST-API"); /* ... */ })
GlobalConfiguration.Configuration.EnableSwagger("docs/{apiVersion}", c => { c.SingleApiVersion("v1", "Designbest REST-API"); /* ... */ })
GlobalConfiguration.Configuration.EnableSwaggerUi("doc/{*assetPath}", c => { c.DocumentTitle("Designbest REST-API"); /* ... */ })
GlobalConfiguration.Configuration.EnableSwaggerUi("doc/{*assetPath}", c => { c.DocumentTitle("Designbest REST-API"); /* ... */ })
</syntaxhighlight>
</syntaxhighlight>
In questo modo runniamo su <code>/doc/index</code> (ricordiamoci '''/index'''!).

Versione delle 16:32, 1 ott 2021

Con il Framework 4.8 , in un un contesto di WebApi, Swagger interviene generando una documentazione interattiva HTML che prende come sorgente i modelli dei dati e le loro descrizioni da codice sorgente.

Pagina del progetto: https://github.com/heldersepu/Swagger-Net

Ecco come procedere, avendo già creato un WebApi/Rest-Service:

  • Manage NuGet packages e installare Swagger-Net
  • È possibile testare subito runnando la soluzione alla pagina /swagger (se non funziona qui sono cazzi tuoi)
  • Si crea in automatico un file App_Start/SwaggerConfig.cs , centralizzato, dal quale è possibile configurare tutto.

Route personalizzata

Siccome runnare su /swagger ci fa schifo, cambiamo l'impostazione della route aggiungendo il parametro routeTemplate alla configurazione di Swagger SwaggerUI

GlobalConfiguration.Configuration.EnableSwagger("docs/{apiVersion}", c => { c.SingleApiVersion("v1", "Designbest REST-API"); /* ... */ })
GlobalConfiguration.Configuration.EnableSwaggerUi("doc/{*assetPath}", c => { c.DocumentTitle("Designbest REST-API"); /* ... */ })

In questo modo runniamo su /doc/index (ricordiamoci /index!).