Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

SwaggerConfigurationExtension.cs 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. namespace Diligent.WebAPI.Host.Extensions
  2. {
  3. [ExcludeFromCodeCoverage]
  4. public static class SwaggerConfigurationExtension
  5. {
  6. public static void ConfigureSwagger(this WebApplicationBuilder builder)
  7. {
  8. IServiceCollection services = builder.Services;
  9. services.AddVersionedApiExplorer(setup =>
  10. {
  11. setup.GroupNameFormat = "'v'VVV";
  12. setup.SubstituteApiVersionInUrl = true;
  13. });
  14. services.AddSwaggerGen(options =>
  15. {
  16. var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
  17. options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
  18. }
  19. );
  20. services.ConfigureOptions<SwaggerConfigureOptions>();
  21. services.AddApiVersioning(options =>
  22. {
  23. options.AssumeDefaultVersionWhenUnspecified = true;
  24. options.ReportApiVersions = true;
  25. options.DefaultApiVersion = new ApiVersion(1, 0);
  26. options.ApiVersionReader = new UrlSegmentApiVersionReader();
  27. });
  28. }
  29. public static void ConfigureSwagger(this WebApplication app)
  30. {
  31. if (app.Environment.IsDevelopment())
  32. {
  33. app.UseSwagger();
  34. app.UseSwaggerUI(options =>
  35. {
  36. options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
  37. options.SwaggerEndpoint("/swagger/v2/swagger.json", "v2");
  38. options.RoutePrefix = string.Empty;
  39. });
  40. }
  41. }
  42. }
  43. }