您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

SwaggerConfigureOptions.cs 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. namespace Diligent.WebAPI.Host.Options
  2. {
  3. public class SwaggerConfigureOptions : IConfigureOptions<SwaggerGenOptions>
  4. {
  5. private readonly IApiVersionDescriptionProvider _provider;
  6. public SwaggerConfigureOptions(IApiVersionDescriptionProvider provider) => _provider = provider;
  7. public void Configure(SwaggerGenOptions options)
  8. {
  9. // add swagger document for every API version discovered
  10. foreach (var description in _provider.ApiVersionDescriptions)
  11. {
  12. options.SwaggerDoc(
  13. description.GroupName,
  14. CreateVersionInfo(description));
  15. }
  16. }
  17. public void Configure(string name, SwaggerGenOptions options)
  18. {
  19. Configure(options);
  20. }
  21. private OpenApiInfo CreateVersionInfo(
  22. ApiVersionDescription description)
  23. {
  24. var info = new OpenApiInfo()
  25. {
  26. Title = "Diligent Web API",
  27. Version = description.ApiVersion.ToString()
  28. };
  29. if (description.IsDeprecated)
  30. {
  31. info.Description += " This API version has been deprecated.";
  32. }
  33. return info;
  34. }
  35. }
  36. }