2015-11-24 17 views
12

Ho creato un servizio web RESTful utilizzando ASP.NET WebApi v2 e sto utilizzando Swashbuckle per generare UI swagger per la documentazione API.ASP.NET Pagina di destinazione predefinita WebAPI

Tutte le chiamate API sono sotto http://localhost/api/ e la pagina dell'interfaccia utente swagger è a http://localhost/browser/index (la parte 'browser' è configurabile).

Navigazione a http://localhost/ comunque atterrerà su una pagina vuota, quindi la mia domanda è: è possibile percorso http://localhost/-http://localhost/browser/index modo che l'utente sarà in grado di vedere la documentazione API semplicemente visitando l'URI di base.

Una soluzione che posso pensare è di utilizzare un file system fisico e creare una pagina html statica che faccia una meta fresca per reindirizzare alla pagina di destinazione che voglio, ma suppongo che ci sia un modo migliore per farlo. ..

Grazie.

+0

Non si può eseguire un reindirizzamento nel controller, dalla pagina predefinita alla pagina di swagger? –

+0

@KarlGjertsen Credo di poter creare un nuovo controller solo per questo e indirizzare la pagina predefinita ... è possibile ottenere questo risultato senza un controller dedicato? – Godsent

risposta

12

Modificare la configurazione del percorso RouteConfig.cs.

Anziché l'impostazione di default:

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

Modificarlo da indicare a spavalderia:

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Browser", action = "Index", id = UrlParameter.Optional } 
); 

assicuratevi di aggiornare RouteConfig.cs e non WebApiConfig.cs.

+0

Considerare lo stesso scenario. Ma devo reindirizzare a "http: //localhost/browser/index.html" file html statico. C'è qualche possibilità di farcela? –

+0

mio URL Swagger: http: // localhost: 49.952/spavalderia/ui/index ho cambiato il file RouteConfig.cs come questo: routes.MapRoute ( \t \t \t nome: "Default", \t \t \t url: " {Controller}/{action}/{id}", \t \t \t default: new {regolatore = "Swagger", action = "Index", id = UrlParameter.Optional} \t \t); –

Problemi correlati