Anonimo
Accesso non effettuato
discussioni
contributi
registrati
entra
Webmobili Wiki
Ricerca
Modifica di
Swagger-Net - Documentazione dinamica
(sezione)
Da Webmobili Wiki.
Namespace
Pagina
Discussione
Altro
Altro
Azioni sulla pagina
Leggi
Modifica
Cronologia
Attenzione:
non hai effettuato l'accesso. Se effettuerai delle modifiche il tuo indirizzo IP sarà visibile pubblicamente. Se
accedi
o
crei un'utenza
, le tue modifiche saranno attribuite al tuo nome utente, insieme ad altri benefici.
Controllo anti-spam.
NON
riempirlo!
=== Gestione parametri Header (es. token) === Se le API sono protette da '''autenticazione con bearer token o basi authentication''' l'interfaccia di swagger deve dare la possibilità di effettuare l'autenticazione.<br/> Per aggiungere un nuovo campo di input con le specifiche adeguate si rende necessario: * Implementare l'interfaccia '''IOperationFilter''' (di Swagger.Net) * Notificare nella configurazione la presenza di questa implementazione <br/> Di seguito un esempio di implementazione di Bearer Token <syntaxhighlight lang="c#"> public class SwaggerOperationFilter : IOperationFilter { public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription) { if (operation == null) return; if (operation.parameters == null) operation.parameters = new List<Parameter>(); Parameter authorizationParam = new Parameter { description = "Token da fornire per l'accesso al servizio", required = true, @in = "header", name = "Authorization", type = "string", @default = "Bearer " }; operation.parameters.Add(authorizationParam); operation.responses.Add("400", new Response { description = "I dati inviati sono errati o incompleti", examples = new Dictionary<string, object>() { { "application/json", new { Message= "...messaggio di errore..." } } } }); operation.responses.Add("401", new Response { description = "Chiave di autorizzazione non valida o mancante", examples = new Dictionary<string, object>() { { "application/json", new {Message= "Autorizzazione negata per la richiesta."} } } }); operation.responses.Add("500", new Response { description = "Si è verificato un errore durante l'esecuzione della procedura", examples = new Dictionary<string, object>() { { "application/json", new {Message= "...messaggio di errore..."} } } }); } } </syntaxhighlight> Piazzato ad esempio in un folder <code>/Filters</code>.<br/><br/> All'interno di <code>SwaggerConfig.cs</code> segnalare l'operation filter appena implementato tramite la riga <syntaxhighlight lang="c#">c.OperationFilter<SwaggerOperationFilter>();</syntaxhighlight> dentro a <code>EnableSwagger("...", c=> { ... }...</code>
Oggetto:
Per favore tieni presente che tutti i contributi a Webmobili Wiki possono essere modificati, stravolti o cancellati da altri contributori. Se non vuoi che i tuoi testi possano essere alterati, allora non inserirli.
Inviando il testo dichiari inoltre, sotto tua responsabilità, che è stato scritto da te personalmente oppure è stato copiato da una fonte di pubblico dominio o similarmente libera (vedi
Webmobili Wiki:Copyright
per maggiori dettagli).
Non inviare materiale protetto da copyright senza autorizzazione!
Annulla
Guida
(si apre in una nuova finestra)
Navigazione
Navigazione
Pagina principale
Ultime modifiche
Una pagina a caso
Aiuto su MediaWiki
Pagine speciali
Strumenti wiki
Strumenti wiki
Strumenti pagine
Strumenti pagine
Strumenti pagina utente
Altro
Puntano qui
Modifiche correlate
Informazioni pagina
Registri della pagina