web-dev-qa-db-fra.com

Comment changer l'URL de base de Swagger dans le noyau ASP.NET

Par défaut, lorsque vous activez swagger dans un projet ASP.NET Core, il est disponible dans l'URL:

http://localhost:<random_port>/swagger/ui

Je voudrais utiliser une URL de base différente au lieu de /swagger/ui. Comment/où puis-je configurer cela?

J'ai trouvé que pour les versions plus anciennes, vous pouvez configurer la RootUrl mais il n'y a pas de méthode similaire dans ASP.NET Core:

.EnableSwagger(c =>
{
    c.RootUrl(req => myCustomBasePath);
});
9
Mariusz Jamro

La nouvelle version de swagger vous fournit une propriété appelée RoutePrefix.

   app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                c.RoutePrefix = "docs";
            });
24
maxspan
  1. Ouvrez le fichier launchSettings.json .
  2. Sous le "profiles" noeud en fonction de votre configuration, vous devriez avoir un ou plusieurs profils. Dans le cas où j'ai eu "IIS Express" et un autre avec le nom de mon projet (par exemple, WebApplication1), remplacez maintenant l'entrée launchUrl par "launchUrl": "swagger" résolu mon problème.
  3. Si cela ne fonctionne pas et que vous avez d'autres profils, faites de même et testez.
1
Mxaza

Vous pouvez le faire aussi dans Config

app.UseSwaggerUI(c =>
            {
                c.RoutePrefix = string.Empty;
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "MY API");
            });
0
Jackboys

La méthode d'extension UseSwaggerUi() permettant d'activer le middleware dans la méthode de configuration de la classe StartUp utilise deux variables. baseRoute qui est sur swagger/ui par défaut et swaggerUrl qui est sur swagger/v1/swagger.json par défaut. Il suffit simplement de fournir un itinéraire de base différent.

//Swagger will be available under '/api' url
app.UseSwaggerUi("api");

Si vous souhaitez en savoir plus sur la configuration de Swagger pour ASP.NET Core, j'ai écrit un article de blog pour commencer: https://dannyvanderkraan.wordpress.com/2016/09/09/asp-net-core- 1-0-web-api-automatic-documentation-with-swagger-and-swashbuckle/

0
Danny van der Kraan