web-dev-qa-db-fra.com

Page de destination par défaut d'ASP.NET WebAPI

J'ai créé un service Web RESTful à l'aide d'ASP.NET WebApi v2 et j'utilise Swashbuckle pour générer une interface utilisateur swagger pour la documentation de l'API.

Tous les appels d'API sont sous http: // localhost/api / et la page de l'interface utilisateur swagger est à http: // localhost/browser/index (la partie 'browser' est configurable).

La navigation vers http: // localhost / atterrira cependant sur une page vide, donc ma question est de savoir s'il est possible de router http: // localhost / vers http: // localhost/browser/index pour que l'utilisateur puisse voir la documentation de l'API simplement en visitant l'URI de base.

Une solution à laquelle je peux penser est d'utiliser un système de fichiers physique et de créer une page html statique qui fait un méta frais pour rediriger vers la page de destination que je veux, mais je suppose qu'il doit y avoir une meilleure façon de le faire…

17
Godsent

Modifier la configuration de l'itinéraire RouteConfig.cs.

Au lieu du paramètre par défaut:

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

Modifiez-le pour pointer vers swagger:

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

Assurez-vous de mettre à jour RouteConfig.cs et pas WebApiConfig.cs.

16
Karl Gjertsen